linux常用命令总结

1. 查看当前目录下有哪些文件和目录
   > ls           //list
   > ls -al       //all list 显示当前目录全部的文件详细信息(以列表形式显示) 会显示隐藏文件
   > ls -l        //list显示当前目录一般文件的详细信息(以列表形式显示)
   > ls -a        //显示当前目录全部文件信息,只有文件的名字
   > ls 目录      //罗列指定目录的文件信息
   > ll           //以列表形式列出当前目录文件的详细内容(不会显示隐藏文件)
 
2. 查看我当前在哪个目录
   >pwd

3. 显示当前用户信息
   >who am i      //显示用户名 和 其登录系统的时间信息
   >whoami        //只显示当前登录系统的用户名信息

4. 从普通用户切换到root用户
   > su -         //提示输入密码
   > su root      //
   两种切换方式:前者切换为超级管理员用户,权限也是超级管理员权限
         后者虽然切换为超级管理员,其权限是普通权限

5. 从root用户切换到普通用户
   > su cqh    //从root切回普通用户

6. 从桌面窗口切换为“命令行窗口”(通过超级管理员切换)
  > init 3
  > init 5   //从“命令行”切换回“桌面”

7. 目录切换
   > cd  具体目录   

8. 输出文件的信息,全部内容直接都输出
   >cat  文件

9. 创建目录指令
   > mkdir   目录   
   > mkdir  -p  目录1/目录2/目录3        //递归创建目录

10. 修改目录的名字
   > mv  目录1   目录2              //把"目录1"的名字改为"目录2"的名字
   > mv  目录/目录a   目录/目录b    //把“目录a”改成"目录b"

11. 移动操作
   > mv  文件  目录           //移动文件到指定的目录
   > mv  目录  目录           //移动目录到指定目录(包括多级目录)

12. mv指令什么时候是移动,什么时候是该名字
   mv  一参  二参
   二参 是不存在的,就是改名字
   二参 是存在的目录,就是移动

   mv  com.txt  red.txt
   red.txt是存在的文件,com.txt也是存在的文件
    首先明确,不可以移动操作
    不能
    【能】把名字由com.txt改为red.txt
   
   mv guangzhou  hello.txt
    guangzhou 是存在的目录
    hello.txt 是存在的文件
    首先明确不能移动
    是否可以把guangzhou的名字改为hello.txt
    【不能】把名字由“guangzhou”改为"hello.txt"
    能

13. 删除目录
   > rmdir   目录               //删除单个目录(没有子级目录)
   > rm -rf  文件名字           //force强制 recursive 递归删除
   > rm -rf  /                  //kill  your self  [root用户可以删除更多的文件]
   > rm -rf  shanghai/beijing   //这是删除shanghai下边的beijing目录,不会删除shanghai

14. 复制
   >cp     copy
   >cp  目录  地址  -R          //复制目录需要加上固定参数-R,目录会进行递归复制
   >cp  文件  目录/不存在名字   //文件在被复制到指定目录的同时被“改名字”
   >cp  文件  新文件名字        //复制同时并起新名字

15. 查看文件内容
   > more  文件          //从文件内容第一行开始显示,有显示内容查看%百分比
                         //敲回车,会逐行查看后边的内容,到最后会释放光标
   > less  文件          //逐行显示文件内容,通过“上、下、左、右”可以查看文档的各部分内容
                         //允许向前查看,没有百分比显示
             //通过"q"键释放光标
   > head -n  文件       //查看文件前n行内容
   > tail -n  文件       //查看文件尾部n行内容
   > wc  文件            //计算文件内容行数、段落

16. 创建新文件
   > touch  文件名       //创建文件

17. 给文件添加内容
   > echo  内容  >  文件    //把指定内容输入到“文件”里边
   > echo 内容  >>  文件    //把内容追加到文件里边

18. 重定向内容到一个文件
   > cat  文件1  >  文件2   //把文件1的内容重定向到文件2里边,文件2没有则会自动创建
   > cat  文件1  >> 文件2   //追加重定向

19.增加用户  /etc/passwd存放系统用户信息(组编号、家目录)
   > useradd  用户名     
   > useradd -g 编号  用户名      //增加用户的同时设置“组编号”
   > useradd -d 目录名  用户名    //增加用户同时设置“家目录”,目录没有会自动创建
   > useradd -g 编号  -d  家目录   用户名   //同时设置组编号和家目录地址
   > useradd -g 组编号  用户   //常用操作

20. 创建组 (可以设置组本身编号)
   > groupadd  组名            //常用操作
   > groupadd -g 编号  组名    //可以设置组编号,下一个组的编号要从最大的自增

21. 修改用户信息(组编号、家目录地址、用户名)
   > usermod -g 组编号  用户名   //修改用户的组编号
   > usermod -d  家目录  用户名  //修改用户的家目录,passwd文件有修改,实际并没有这个目录(手动创建)
   > usermod -u 编号  用户名     //修改用户本身的编号
   > usermod -l 新名字  旧用户名  //修改用户的名字

22. 修改组 (组编号、组名)
   > groupmod -g 组编号  组名  //修改组编号
   > groupmod -n  新组名  旧组名  //修改组名字

23. 删除用户(用户信息、家目录地址)
   > userdel 用户
   > userdel  -r  用户      //删除用户同时,其“家目录”地址也会被删除

24. 删除组
   > groupdel  组名         //一个组下边有具体用户,该组不允许删除

25. 查看一个指令在使用的时候有何种参数可以设置
   > useradd --help     命令  --help  

26. 给一个用户设置密码(可以让其登录系统)
   > passwd  用户名       //密码根据提示输入两遍

27. 查看命令具体参数设置
   > man  命令       //前后反复查看命令的使用参数

28. 给文件进行权限设置[相对方式]
   > chmod u+x  文件   
   > chmod g+x  文件    //给同组用户设置执行权限
   > chmod o+x  文件    //给其他组用户设置执行权限
   > chmod o+w,o+x  文件  //同时给文件设置可写、可执行全选

   > chmod u-r  文件       //取消主人的可读权限
   > chmod g-w,g-x  文件   //取消同组用户写、执行权限
   > chmod o-r,o-x  文件   //取消其他组用户读、执行权限

   > chmod g+rx,o+wx  文件  //给文件同组用户设置“读、执行”权限,其他组用户有“写、执行权限”
   > chmod u-rwx,g-rw   //取消具体用户的权限

29. 数字[绝对方式]设置文件权限
    读、写、可执行
    二进制代码表示计算机的信息
      1-------------1
     10-------------2
    100-------------4

    例如:读:1     写:2    执行3
          如果文件权限是读写执行都有就是数字6
      如果文件只有读的权限就是数字1
      3 不知道是“读写” 还是 “执行权限”,歧义产生

    正确的用法是:读4   写2   执行1
        1:执行
        2:写
        3:写、执行
        4:读
        5:读、执行
        6:读、写
        7:读、写、执行
   > chmod 777  文件   //主人、同组用户、其他组用户权限是满的
   > chmod 001  文件   //主人、同组用户都没有权限,其他组用户有可执行权限
   ppink.txt  主人有写、执行   同组用户有读    其他组用户有读、执行
   > chmod 345 ppink.txt

30. 给目录递归设置权限
   > chmod 755  目录  -R       //-R参数可以递归目录进行权限设置

31. 文件权限使用
   -w-  文件只有可写权限[不可以看到原内容,可以写,覆盖写,强行保存]
   r--  文件只有可读权限[可以看到原内容,可以写,不会覆盖,强行保存]
   --x  文件有可执行权限[不可以看到原内容,可以写,覆盖写,强行保存]

32. 目录权限
   r--  目录有可读权限[可以阅读里边的文件,不允许进入]
   --x  目录有执行权限[不能阅读,不允许写,允许进入目录]
   -w-  目录有些权限[不能阅读,不能增加或减少文件,不能进入目录]
   rw-  有读、写权限[可以阅读,不能进入目录]
   rwx  读、写、可执行[可以阅读,可以增加减少文件、可以进入]
   一个目录如何进行写操作:给目录增加文件或减少文件就是写

33. 同组用户对文件权限操作
   r--  操作只读文件[可以阅读,可以写,强行保存,文件的主人和组已经更改]
   -w-  写权限      [不能读,可以强行覆盖写,文件的主人和组有更改]
   --x  是否可以进入目录

   [一个目录有可执行权限,说明用户可以切换进该目录]

34. 文件或目录的各种权限对超级管理员root没有影响

35. 在指定文件里边查找我们需要的内容
   > grep 内容  文件    

36. 查看“任务管理器”
   > top

37. 查看内存信息
   > free -m         //以M兆为单位显示内存大小使用情况

38. 查看文件或目录占用大小的情况
   > du  -h   目标     //有最小单元限制(4k)  1字节

39. 文件查找
    find  目录  选项  选项值
   > find  ./  -name  abc.txt    //在当前目录查找名字为abc.txt的这个文件
   > find  /   -name   xxx       //在根目录查找文件
   > find  ./  -size  大小    //根据文件的大小来查找
    单位:
        10    512字节默认
        100c  1字节单位
        100k  1024字节单位
   > find ./  -size  +100c     //查找文件大小大于100字节的
   > find ./  -size  -100c     //查找大小小于100字节的文件
   > find ./  -size  4         //查找大小等于2048字节的文件
   > find ./  -size  2k        //查找大小等于2048字节的文件

   > find ./  -maxdepth 1      //查找文件目录最深是2层
   > find ./  -mindepth  1     //查找文件通过最浅层次进行查找

   > find  ./  -type  f      //通过类型查找,查找文件类型
   > find  ./  -type  d      //通过类型查找,查找目录类型

   > find  ./  -user  用户名  //查找文件主人为XX的文件
   > find  ./  -uid  用户编号  //查找文件主人编号为XX的文件
   > find  ./  -nouser         //查找没有主人的文件
    文件创建的时候,是某个用户创建的
    有的一些文件创建好后,被用户发布到网络上边
    我们把网络的文件下载本地,放到我们自己的系统里边
    创建这个文件的用户,在我自己的系统里边并没有
    例如,创建这个文件的用户编号是710(用户名:runfa)

   > find  ./  -perm  权限764     //根据文件的权限进行查找
 
   > find  ./  -name  'bao*'      //进行模糊查找,名字前缀是bao的文件

40. 设置软连接
   > ln -s  源文件  链接文件
   > ln -s  /home/cqh/shanghai/passwd  /var/passwd   

41. 查看文件索引号码
   > ls -li  

42. 制作任务调度指令
   > crontab  -e    //编辑任务调度指令
   > crontab  -l    //查看任务调度指令设置情况
    在17:38来执行具体任务指令
    分钟   小时   日期   月份   星期    具体命令
    38     17     *      *      *       /home/cqh/shanghai/newout.sh
    0代表周日

43. 设置系统时间
   > date -s "2013-08-13 17:39:40";
   > date            //查看系统时间

44. 给文件设置主人
   > change  owner
   > chown  主人   文件

45. 给文件设置组
   > change group
   > chgrp  组  文件

   > chown  .组  文件

46. 同时给文件设置主人和组
   > chown  主人.组  文件
   > chown  主人.组  目录  -R      //递归给目录设置主人和组的信息,二级目录和三级目录等等都会设置

47. 实现设备挂载、卸载
   > mount  /dev/cdrom    /home/cqh/rom       //把光驱挂载到rom的目录下边
   > mount  /dev/hda1     /home/cqh/upan      //挂载u盘
   > mount  /dev/sda3     /home/cqh/pan3      //挂载硬盘

   > umount  设备 或者 挂载点
   > umount  /dev/cdrom
   > umount  /home/cqh/rom

48. rpm指令安装软件
   > rpm -ivh  软件文件名(vsftpd-2.0.5-16.el5_4.1.i386.rpm)     //安装软件
   > rpm -e    软件名(vsftpd)                                 //卸载软件
   > rpm -q   软件名                //query检查是否安装该软件
   > rpm -qa                    //查看系统全部安装软件情况
   > rpm -qa   | grep  ftp            //在全部安装软件里边,通过模糊方式查找是否有ftp这个软件
   > rpm -u  文件名             //对软件升级

49. 让vsftpd软件运行
   > service vsftpd start

50. 服务器重新启动
   > reboot    重新启动
   > shutdown  关机
   > poweroff  关机
原文地址:https://www.cnblogs.com/chenqionghe/p/4293629.html