Linux常用命令笔记

--------------------------------------------------

常用linux系统命令

--------------------------------------------------

lsb_release-a查看系统版本

uname-a查看linux是否是64位版本

如果有x86_64就是64位的,没有就是32位的

■自己的常用脚本:

一般情况下,我们可以创建到其它脚本的一个链接,或自己编写脚本,放在/usr/local/bin目录下,该目录下的脚本只要有执行权限,就可以在随时随时调用,因此可以把常用的命令放到该目录,提高工作效率

例:在/usr/local/bin/目录下创建tomcatstart命令

ln-s$CATALINA_HOME/bin/startup.sh/usr/local/bin/tomcatstart

chmod+x/usr/local/bin/tomcatstart

这样,随时随地都可以执行tomcatstart启动tomcat了

■修改权限chmod

读、写、运行三项权限可以用数字表示,r=4,w=2,x=1。因此,rw-r--r--可用数字表示成644。

反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。

■进程查看

ps-A显示所有程序。

psc列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。

ps-e此参数的效果和指定"A"参数相同。

pse列出程序时,显示每个程序所使用的环境变量。

psf用ASCII字符显示树状结构,表达程序间的相互关系。

ps-H显示树状结构,表示程序间的相互关系。

ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。

pss采用程序信号的格式显示程序状况。

psS列出程序时,包括已中断的子程序资料。

ps-t 指定终端机编号,并列出属于该终端机的程序的状况。

psu 以用户为主的格式来显示程序状况。

psx 显示所有程序,不以终端机来区分。

例:

psaux|grepmysql

ps-ef|grepjava

kill-93732//彻底杀死指定进程,在直接使用kill时杀不掉某些进程时很有用

■Shell相关

echo$SHELL查看当前使用的shell

■linux环境变量配置

主要有以下两种方法:

1、系统级环境变量,对所有用户有效:修改/etc/profile文件

可以在最后面按以下形式加入自定义环境变量:

exportCATALINA_HOME=/usr/local/apache-tomcat-7.0.32

修改之后,可以使用该命令使/etc/profile修改立即生效:

./etc/profile

2、修改个人用户主目录下的.bashrc文件(针对指定用户生效)

3、直接在shell中或在shell脚本中输入类似内容(仅在当前shell的执行环境中有效)

exportJAVA_HOME=/usr/share/jdk1.5.0_05

exportPATH=$JAVA_HOME/bin:$PATH

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

■其它常用命令

rm-rf

cat/etc/mysql/my.cnf|grepbuffer_pool

tail-n100/etc/my.cnf|grepbuffer_pool

ln–s/bin/less/usr/local/bin/less创建链接(ln-ssourcedist)

netstat-na|grep3306查看指定监听服务的情况,如看到有结果代表相关服务已启动

useradd-ggroupnameusername//创建到组

useradd-Ggroupnameusername//创建并追加到组

passwdusernamepwd//指定密码

logout

reboot

df-hl查看磁盘

usage:du-shbkm[file|directory]查看指定目录占磁盘大小

cd~username切换到用户主目录

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

du可以查看文件及文件夹的大小。

两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。

df-h

参数-h表示使用「Human-readable」的输出,也就是在档案系统大小使用GB、MB等易读的格式。

du:查询文件或文件夹的磁盘使用空间

如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.

du-h--max-depth=1/usr/local/opencv

du-sh

du-sg(AIX系统)

卸载cmake编译安装的程序:catinstall_manifest.txt|sudoxargsrm

■查看端口占用:

netstat–apn

查看linux命令对应的路径

linux下,我们常使用cd,grep,vi等命令,有时候我们要查到这些命令所在的位置,如何做呢?

linux下有2个命令可完成该功能:which,whereis

which用来查看当

前要执行的命令所在的路径。

whereis用来查看一个命令或者文件所在的路径,

which命令的原理:在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which命令的使用实例:

$whichgrep

whereis命令原理:只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

whereis命令的使用实例:

$whereisgrep

■Linux的五个查找命令:find,locate,whereis,which,type

为避免篇幅过长,随便搜索了一下,请看这里就好了,讲得很清楚明了:

http://www.kuqin.com/linux/20091009/70532.html

■软件安装时遇到的一些问题的解决方法

●centos怎么导入rpm-gpg-key

方法有二,一是安装相应的软件源的安装包。二是直接将key复印到/etc/pki/rpm-gpg/

rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-20-x86_64

●以rpm包为载体软件的linux系统,可以直接用命令:rpm–ivhxxx.rpm默认安装rpm包,亦可以指定安装到某一目录下。

为软件包指定安装目录:要加-relocate参数。

比如安装xxx.rpm包,以relocate参数进行安装,安装到/opt/temp目录:

rpm-ivh--relocate/=/opt/tempxxx.rpm;

以prefix进行安装:

rpm-ivh--prefix=/opt/tempxxx.rpm

可以用rpm-qa|grepmysql查看是否安装了mysql

relocate就是只把应该装到oldpath下的文件安装到newpath,实现将一部分文件安装到其它的路径,而不是把所有的这个包的文件都换。

但是无论是prefix还是relocate都不见得可以真正可以用,因为有的包或者文件不允许装到其他路径,所以你可以加上badreloc来强制把文件安装到想要的地方。

rpm-ivh--prefix=/mnt/opt/mysql5.5--relocate/=/mnt/opt/mysql5.5--badreloc

■VI编辑器

G光标移到最后一行

nG光标移动到第n行

gg或1G光标移动到第一行

/word向下查找word

n/word后使用,继续查找;

N/word后使用,继续反向查找;

u撤消,类似windows中的CTRL+Z

dd删除当前行

yy复制当前行

p黏贴到当前光标的下一行

P黏贴到当前光标的上一行

CTRL+r重做前一个操作

:w保存

:q退出vim

:wq保存并退出

:q!直接退出不保存

:wfilename另存为filename

:n,mwfilename将第n行到第m行另存为filename

:setnu显示行号

:setnonu不显示行号

:!command暂时离开vim,并执行command,执行完后再进入vim

:rfilename将filename文件的数据读入当前文件

相关推荐