Linux(ubuntu16.04)下的一些常用命令操作细节整理

# 本文整理了Linux(ubuntu16.04)上常用的大约几十个命令,并讲述了相关的操作细节:

# cd、pwd、ls、clear、mkdir、touch、rm、cp、mv、tree、chmod、find、grep、重定向>、ln 软链接、硬链接 、压缩zip tar 、exit 等等

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

  • 1.touch 如果文件不存在则创建,如果文件已存在不会创建(覆盖)

  • 2.mkdir 创建目录 如果目录和文件名重名:
      • 先存在文件或目录,再创建目录 —— 报错:文件已存在,无法创建
        • 新建目录的名称不能与当前目录中已有的目录或文件同名
      • 先存在目录,再touch同名文件,则不会报错,也不会创建(覆盖)存在的目录
      • 可以递归创建目录 mkdir 1/2/3/4/4 -p
        • 递归创建(新建)的目录和子目录可以重名

  • 3.rm 删除指定的文件名
    • 如果指令后面接多个文件或目录,则会删除命令后所有文件的同时,提示:xxx不是文件;
    • 如果在上述命令后增加选项 -r ,则会删除命令后面指定的文件或文件夹,但是提示:XXX文件不存在。
    • 提示:有报错提示,但是不影响指令的执行
    • -r 递归地删除目录下的内容,删除文件夹时必须加此参数
    • -f 强制删除,忽略不存在的文件,无需提示
    • -i 以进行交互式方式执行

  • 5.查阅命令帮助信息:
    • “command” --help # eg: rm --help
    • man “command” # eg:man rm
      • man是manual的缩写,和其配套的还有b,f,j,k,enter键,空格键,q(退出),\word # word是要查找的字符串

  • 6.cp 路径/操作文件名 路径/目标文件名
    • 文件名->文件名:如果目标文件名已经存在,则会覆盖,这个和touch不同
    • 目录->目录:如果操作的是目录名,则 操作的是该目录内的所有内容
    • 目录->目录:如果操作的是目录名,则 后面需要加选项 -r
    • 目录->目录:如果操作的是目录名,则 后面必须也是一个目录
    • 目录->目录:如果目标路径不存在,则 创建路径(目录)
    • 文件名->目录/文件名:目录必须已经存在,否则报错;
    • -a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
    • -f 已经存在的目标文件而不提示
    • -i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
    • -r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
    • -v 显示拷贝进度

  • 7.cd :切换目录:
    • 后面不接参数和选项,则 切换到当前用户的主目录
    • cd . & cd .. & cd ~ & cd - ...

  • 8.mv : 移动、重命名
    • 操作路径/文件名 -> 目标路径/目标文件名
    • 如果目标路径存在,则 移动文件,并将路径后面的最有一个/后的内容作为新的文件名
    • 如果目标路径不存在,则 报错
    • -i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
    • -f 禁止交互式操作,如有覆盖也不会给出提示
    • -v 显示移动进度

  • 9.重定向命令:> & >>
    • Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
    • 如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
    • 所谓重定向:修改了默认的输出(显示)方向
    • 重定向可以用来合并文件
    • > 先清空后添加
    • >> 不清空,追加到文件的尾部

  • 10.1.cat 查看文件内容,直接显示到终端
  • 10.2.more 分屏显示
    • 查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助
  • 10.3.管道:|
    • 一个命令的输出可以通过管道做为另一个命令的输入。
    • ls -lh | more

  • 11.软连接、硬链接:ln
    • 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
    • 硬链接:硬链接只能链接普通文件,不能链接目录
    • 硬链接格式:ln 源文件 链接文件
    • 软连接格式:ln -s 源文件 链接文件
    • 注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
    • 涉及到在当前的文件夹查找文件名,如果相对路径,之后又把文件移动到原来的位置还是可以用的。
    • 修改软连接打开的文件的时候,对应的文件也会修改。
    • 修改硬链接打开的文件的时候,对应的原文件也会修改。
    • 修改源文件后,通过软连接、硬链接打开都可以看到对应修改后的文件。
    • 修改源文件后,对应的多个软、硬链接的文件都会跟着改变。
    • 硬链接是同一个文件内容,多个不同文件名,执行ll会显示。

  • 12.查看或者合并文件内容:cat
    • 相对路径查看
    • 绝对路径查看
    • 合并:如:cat 1.txt 2.txt > 1_2.txt

  • 13.文本搜索:grep
    • grep一般格式为:grep [-选项] ‘搜索内容字符串’ 文件名
    • -v 显示不包含匹配文本的所有行(相当于求反)
    • -n 显示匹配行及行号
    • -i 忽略大小写
    • grep搜索内容串可以是正则表达式

  • 14.查找文件:find
    • find -name "*.txt" : 查找当前目录下以.txt结尾的文件
    • find -name /home/python "[0-9]" : 查找python目录下的单个数字的文件夹或者文件
    • find -size +50k -size -5M : 查找当前目录下文件大小在2k~5M的文件,注意这里k小写;M大写。
    • find ./ -perm 777 查找当前目录下权限为777的文件或目录

  • 15.归档管理:tar
    • tar使用格式 tar [参数] 打包文件名 文件
    • -c 生成档案文件,创建打包文件
    • -v 列出归档解档的详细过程,显示进度
    • -f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
    • -t 列出档案中包含的文件
    • -x 解开档案文件
    • 注意: 除了f需要放在参数的最后,其它参数的顺序任意。
    • tar -cvf test.tar * : 将当前目录内所有文件打包成文件名为test.tar
    • tar -xvf test.tar : 解压刚才的文件。

  • 16.1. 文件压缩解压:gzip

    • tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
    • gzip格式:gzip [选项] 被压缩文件
    • -d 解压
    • -r 压缩所有子目录
    • gzip -r test.tar test.tar.gz
      • 可以简写:gzip test.tar
    • gzip -d test.tar.gz
      • 解压缩,注意哟:下面的都是tar命令
    • tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
    • 压缩用法:tar cvzf 压缩包包名 文件1 文件2 ...
    • -z :指定压缩包的格式为:file.tar.gz
    • tar -zcvf test.tar.gz * : 将当前路径下的所有文件以文件夹打包并压缩到test.tar.gz文件中
    • 解压格式: tar zxvf 压缩包包名
    • tar -zxvf test.tar.gz : 解压到当前路径下
    • 解压到指定目录:-C (大写字母“C”)
    • tar -zxvf test.tar.gz -C /home/python/Desktop : 解压到桌面
  • 16.2. 文件压缩解压:bzip2

    • 压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
    • 解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
    • 总之,和上面用法在于 z --> j ,换一个选项
  • 16.3 文件压缩解压:zip、unzip

    • 通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
    • 压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
    • 解压文件:unzip -d 解压后目录文件 压缩文件
      • 目录如果不存在会自动创建,如果放在当前目录,则会出现各种交互式提示

  • 17.查看命令位置:which
    • 如果找到就显示这个命令的路径,否则不显示

  • 18.修改文件权限:chmod
    • 字母法VS数字法
    • 字母法:chmod u/g/o/a +/-/= rwx 文件
    • u user 表示该文件的所有者
    • g group 表示与该文件的所有者属于同一组( group )者,即用户组
    • o other 表示其他以外的人
    • a all 表示这三者皆是
      • 增加权限
      • 撤销权限
    • = 设定权限
    • r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
    • w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
    • x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
    • eg: chmod u+r,g-w,o=wrx 1.py : 对于1.py文件,user
    • eg: chmod u-w,g+r,o= 1.py
    • r 读取权限,数字代号为 "4"
    • w 写入权限,数字代号为 "2"
    • x 执行权限,数字代号为 "1"
    • - 不具任何权限,数字代号为 "0"
    • chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename
    • 注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限

  • 19.1.切换到管理员账号root

    • $ 表示普通用户
    • # 表示管理员账户
    • whoami
    • sudo -s
  • 19.2.设置用户密码:passwd

    • 在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
  • 19.3. 退出登录账户: exit

    • 如果是图形界面,退出当前终端;
    • 如果是使用ssh远程登录,退出登陆账户;
    • 如果是切换后的登陆用户,退出则返回上一个登陆账号。
  • 19.4.查看登录用户:who

    • who命令用于查看当前所有登录系统的用户信息。
    • -q或--count : 只显示用户的登录账号和登录用户的数量
    • -u或--heading : 显示列标题; 这个也是默认模式

  • 20.关机重启:reboot、shutdown、init
    • reboot 重新启动操作系统
    • shutdown –r now : 重新启动操作系统,shutdown会给别的用户提示
    • shutdown -h now : 立刻关机,其中now相当于时间为0的状态
    • shutdown -h 24:12 : 系统在今天的24:12 会关机
    • shutdown -h +10 : 系统再过十分钟后自动关机

posted @ 2018-06-17 21:17  defaulttest  阅读(1920)  评论(0编辑  收藏  举报