zoukankan      html  css  js  c++  java
  • 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 : 系统再过十分钟后自动关机

  • 相关阅读:
    Apache 2.4+php 5.4 安装
    Linux 进程状态
    解决Redhat Linux AS使用yum时出现This system is not registered with RHN的问题(改用CentOS的yum)
    nagios 事件处理
    awk调用shell命令的两种方法:system与print
    磁盘性能分析
    如何通过JQuery将DIV的滚动条滚动到指定的位置
    GCC Windows Linux 下编译学习1
    Linux命令
    GCC Windows Linux 下编译学习2
  • 原文地址:https://www.cnblogs.com/xiegalpha/p/9231654.html
Copyright © 2011-2022 走看看