小树Tree最近开始鼓捣linux,发现linux确实跟windows差别甚大,不过习惯了GUI后,在光秃秃的终端敲命令,也是另外一种体验,暗爽啊,请原谅小树的闷骚!学习过程中,总结了些常用命令,与大家分享,各位英雄好汉多提意见!不间断更新......
1. ps aux

![]()
![]()
![]()
![]()
![]()
![]()
![]()
ps 显示当前进程状况
ps a 显示当前终端机下用户的进程(包括其他用户)
ps x 显示所有终端机下用户的进程(不包括其他用户)
ps u 按用户名和启动时间顺序来显示进程
ps aux 显示所有终端机下所有用户的进程
2. tail
语法:tail [ -f
] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
tail从指定位置开始输出文件内容。Number值前有+号,则输出从正序指定的Number位置到文件末尾的全部内容;Number值前为-号,则输出从倒序指定的Number位置到文件末尾的内容。
常用为tail -f tail -n Number
tail -n -20 access.log 输出access.log文件倒数20行到末尾的内容
tail -n +20 access.log 输出access.log文件从20行到末尾的内容
要跟踪文件的增长,输入:
tail -f accounts
这显示 accounts 文件的最后十行。tail 命令继续显示添加到 accounts 文件中的行。显示会一直继续,直到您按下 Ctrl-C 按键顺序来停止。
与之相反的是head命令,用法类似。
3. source
用户在登录时会启动一个shell(父shell),当使用./xxx.sh或/home/scripts/xxx.sh或sh xxx.sh方式执行脚本时,会启动一个子shell进行执行,其结果不会反应到父shell里,执行完后,子shell会释放所有资源及产生的结果,不会回传给父shell。当使用source xxx.sh时,是在父shell里执行脚本,其结果可以显示出来。
./xxx.sh或/home/scripts/xxx.sh执行脚本时,要求脚本具有可执行权限。其最终在内部还是会以/bin/bash xxx.sh来执行。
4. find
命令格式:find [path] [expression] 如果不指定path,则默认执行的当前目录。
find /home -name contab.txt 查找home目录下contab.txt文件
find -name contab.txt 查找当前目录下contab.txt文件
与其相似的是locate命令
locate contab.txt 查找系统中所有contab.txt文件
whereis命令----whereis主要用于查找程序文件
whereis php 查找php程序所在目录
whereis find 查找find命令所在目录
5. user&group management 用户及组管理
useradd--添加用户 useradd Klaus
passwd--添加密码 passwd Klaus
groupadd--添加群组 groupadd dev
useradd -g dev John 添加用户John到dev群组
usermod -g dev Klaus 将已有用户Klaus添加到dev群组
chgrp dev work/ 将work目录所有权交给dev组
chmod g+rwx work/ 增加dev组对work目录的读、写、可执行权限
chmod o-rwx work/ 撤销其他用户对work的权限
chown klaus work/ 将work目录所有者改为klaus
chgrp是chown的一个子集实现,chgrp更明确的指出意途
id 查看用户的UID,GID及所属群组信息
6. chmod
更改用户的文件权限,用户包括文件属主u,文件属组g,其他人o及所有人a
chmod u+rwx,g+rwx index.html 给属主及群组添加对index.html文件的rwx权限
chmod a+rwx 所有用户有对index.html文件的rwx权限
7. ln
建立链接命令ln
ln -s index.html index.php 建立index.html文件的软链index.php
ln index.html index.php 建立文件index.html的硬链index.php
软链实质上是源文件的一个快捷方式,它是一个新文件,指向源文件。
硬链相当于将源文件复制一份,但它们本质上的索引结点inode是相同的,相当于新加一个指针指向源文件。
如上图所示,建立硬链后,index.html与index.jsp的链接数都变成了2.证明两者的inode是一样的。且硬链完全复制了源文件的属性。
而建立软链后,源文件与软链文件的链接数都为1,即它们的inode是不相同的。系统本质上是通过inode来索引找到文件的,文件名只是方便用户记忆而已。软链一开始就表明是符号链接(l)。
8. 管道l-- 将一条命令的输出连接到另一条命令
ps aux|grep nginx 显示nginx相关进程的信息
9. df 查看磁盘使用情况
10. tar 文件打包
tar包文件的命令通常都是以.tar结尾的,经过gzip的tar文件通常以.tar.gz结尾。
1.命令格式:
tar[必要参数][选择参数][文件]
2.命令功能:
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的
3.命令参数:
必要参数有如下:
-A 新增压缩文件到已存在的压缩
-B 设置区块大小
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 更新原来tar包中某文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
可选参数如下:
-b 设置区块数目
-C 切换到指定目录
-f 指定压缩文件
--help 显示帮助信息
--version 显示版本信息
如图所示,将icson目录及其下文件打包成icson.tar文件。c创建归档文件,v显示归档过程,f指定归档文件名。
更新icson.tar包中index.php文件
打开归档文件icson.tar
归档icson/目录后进行gzip压缩,通常文件加上.gz后缀
解压经过gzip压缩的归档文件icson.tar.gz
11. top
top命令用于即时跟踪当前系统中进程的情况,默认每10秒更新一次,CPU使用最多的程序排在前面。使用q命令退出。
12. kill
kill命令用于结束进程。
如上图,命令通知系统结束pid为3835的进程。
但是,kill命令的信号有可能被要结束的程序进程所忽略,从而并未真正结束进程。
此时,用 kill -9 3835 或 kill -KILL 3835 可确保杀死进程。