linux常用的简单命令(收集中)

1086

ps(Process Status,进程状态)

$ ps aux | grep root       # 输出root用户的所有进程
$ ps -p <pid> -L            # 显示进程<pid>的所有线程
$ ps -e -o pid,uname,pcpu,pmem,comm  # 定制显示的列
$ ps -o lstart <pid>        # 显示进程的启动时间

ps命令的输出可以按任意某一列进行排序,通过使用内部排序键(列的别名),例如:

$ ps aux --sort=+rss         # 按内存升序排列
$ ps aux --sort=-rss        # 按内存降序排列
$ ps aux --sort=+%cpu        # 按cpu升序排列
$ ps aux --sort=-%cpu       # 按cpu降序排列

tar压缩解压

tar -zcvf 压缩
tar -zxvf 解压

删除文本内容

单行删除:1(待删除行)d
多行删除 :1,10d (删除从几行到几行)

权限变更

chmod
所属用户变更
chown -R testuser(需要在/etc/passwd中存在才行)  testdirorfile(文件名,例如为目录可写成 testdir/进行迭代,修改目录下所有文件所属用户为testuser)
文件用户组变更
chgrp -R testgroup testdirorfile(与用户改变迭代同理)

用户创建文件的默认权限
它与chmod的效果刚好相反,umask设置的是权限"补码",而chmod设置的是文件权限码(逻辑与操作,例如文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755)
umask
-S  以符号方式输出权限掩码,默认022

创建目录

mkdir
-p 递归创建,多层目录不存在,依次创建(比如要在tmp下的test目录创建一个1目录,但是test目录不存在,就可用 mkdir -p /tem/test/1)

删除文件夹

rmdir(用的很少)

拷贝和移动、改名

cp
-p 拷贝之后的文件等属性不发生变化,如所有权,有关时间等
-r 拷贝目录


mv
其实cp和mv都有着相似的常用功能

打印出当前所在的绝对路径

psw

查找命令

find
find [路径] [参数] [查找的内容]
find /etc -name init 意义是在etc目录下查找名字为init的文件,区分大小写(-iname为不区分),也可使用&#42;查找的名字_进行包含查找,或者是使用占位符?进行名称的匹配;
find /etc -name *init_  和 find /etc -name init??? 有几个占位符就匹配几个内容,多一个都不行;

-type  按类型查找
f 文件
d 文件夹
l 软链接文件

-inum  根据i节点的值进行查找 ls -i可以查看i节点的值

按文件大小查找

find /etc -size +100M 查找/etc下大于100m的文件, + 表示大于, - 小于, 什么都不写代表等于;
其它
find /etc -cmin -5  查找etc下5分钟内被修改文件属性的文件或者文件夹
按以下内容被修改的时间查询
-amin 访问时间
-cmin 文件属性
-mmin 文件内容
连接查找
-a  and
find /etc -size -100M -a -size +50M  查找etc下大于50m且小于100m的文件 ;
-o  or
查找之后执行其它操作
-exec
find /etc -name init -exec ls -l {} \; 查询出etc下名字为init的文件并执行ls -l命令;
-ok
两个可选参数都有一样的操作结果,只不过ok多了一步确认的操作;

快速查找命令

locate
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.
新建文件有可能不能及时查找到,此时可手动更新数据库 updatedb;
注意: /tmp下的文件将不被记录在数据库中

which和whereis命令

which可以找出别名,whereis可以找出帮助文档所在路径;都能找出命令所在路径;

grep

-i 忽略大小写  grep -i  user /etc/inittab 忽略大小写的找出/etc/inittab 中的user
-v 排出某个字符 grep -v ^# /etc/inittab  排出/etc/inittab以#开头的行

递归查找文件内容:
grep -n -ri "test" /
在当前目下递归查找所有的文件
       -i, --ignore-case
              Ignore  case  distinctions  in  both  the  PATTERN and the input
              files.
       -R, -r, --recursive
              Read all files under each directory, recursively; this is equiv-
              alent to the -d recurse option.