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文件的数据读入当前文件