程序开发相关人员使用linux系统常用命令

1.  ls 列出文件
    ls 列出当前目录下所有目录及文件名
        - a 列出全部的文件,连同隐藏文件( 开头为 . 的文件) 也一起列出来
        - d 仅列出目录本身,而不是列出目录内的文件数据
        - l 长数据串列出,包含文件的属性与权限等等数据
2.    cd 切换目录
    cd 目录  调整到指定的目录
            / 返回根目录
            - 返回上一次的目录
            .. 返回上一级目录
3.  mkdir 创建目录
    mkdir 目录名 创建"目录名"目录
          -p 目录1/目录2/目录3  创建多级目录

4.  pwd 显示目前所在目录

    -P  显示出实际的路径,而非使用连结 (link) 路径(注:这里的“”P‘“”要大写)

5. cd 文件或目录的复制

 cd  [可选参数] 源文件或目录  目标目录

  -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)

  -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

  -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

  -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

  -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

  -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

  -r:递归持续复制,用於目录的复制行为;(常用)

  -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

  -u:若 destination 比 source 旧才升级 destination 

 6. rm 删除文件或目录

  rm   

  -f :忽略不存在的文件,不会出现警告信息;

  -i :在删除前会询问使用者是否确认动作

  -r :递归删除,常用且危险的操作

7. mv 移动或修改目录或文件名

  mv

    -f :强制,如果目标文件已经存在,不会询问而直接覆盖;

    -i :若目标文件已经存在时,就会询问是否覆盖!

    -u :若目标文件已经存在,且源文件比较新时,会升级 (update)

8.  查看文件内容

  cat  由第一行开始显示文件内容

  tac  从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

  nl   显示的时候,顺道输出行号!

  more 一页一页的显示文件内容

  less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

  head 只看头几行

  tail 只看尾巴几行

9. vi/vim 文本编辑器

  vim  文件路径  进入文本编辑命令模式

    - i 进入输入模式

    -x 删除光标所在处的字符

    : 切换到底线命令模式,以在最底一行输入命令

  输入模式下可以使用的按键

    字符按键以及Shift组合,输入字符

    ENTER,回车键,换行  

    BACK SPACE,退格键,删除光标前一个字符  

    DEL,删除键,删除光标后一个字符

    方向键,在文本中移动光标

    HOME/END,移动光标到行首/行尾

    Page Up/Page Down,上/下翻页

    Insert,切换光标为输入/替换模式,光标将变成竖线/下划线

    ESC,退出输入模式,切换到命令模式

  底线模式的命令有

  q 退出程序

  w 保存文件

10  解压缩与压缩  

  tar命令

    解包:tar zxvf FileName.tar

    打包:tar czvf FileName.tar DirName

  gz命令

    解压1:gunzip FileName.gz

    解压2:gzip -d FileName.gz

    压缩:gzip FileName

  .tar.gz 和 .tgz

    解压:tar zxvf FileName.tar.gz

    压缩:tar zcvf FileName.tar.gz DirName

         压缩多个文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ... 

  bz2命令

    解压1:bzip2 -d FileName.bz2

    解压2:bunzip2 FileName.bz2

    压缩: bzip2 -z FileName.tar.bz2

    解压:tar jxvf FileName.tar.bz2

    压缩:tar jcvf FileName.tar.bz2 DirName

  bz命令

    解压1:bzip2 -d FileName.bz

    解压2:bunzip2 FileName.bz

    压缩:未知.tar.bz

    解压:tar jxvf FileName.tar.bz

  Z命令

    解压:uncompress FileName.Z

    压缩:compress FileName.tar.Z

    解压:tar Zxvf FileName.tar.Z

    压缩:tar Zcvf FileName.tar.Z DirName

  zip命令

    解压:unzip FileName.zip

    压缩:zip FileName.zip DirName

11. yum 命令

  语法:  yum [options] [command] [package...]

  options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。

  command:要进行的操作。

  package:安装的包名。

  yum 常用命令

    列出所有可更新的软件清单命令:yum check-update

    更新所有软件命令:yum update

    仅安装指定的软件命令:yum install <package_name>

    仅更新指定的软件命令:yum update <package_name>

    列出所有可安裝的软件清单命令:yum list

    删除软件包命令:yum remove <package_name>

    查找软件包命令:yum search <keyword>

    清除缓存命令:

    • yum clean packages: 清除缓存目录下的软件包
    • yum clean headers: 清除缓存目录下的 headers
    • yum clean oldheaders: 清除缓存目录下旧的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

12. apt 命令

   语法:apt [options] [command] [package...]

    options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes"),-q(不显示安装的过程)等等。

    command:要进行的操作。

    package:安装的包名。

  apt 常用命令

    列出所有可更新的软件清单命令:sudo apt update

    升级软件包:sudo apt upgrade

    列出可更新的软件包及版本信息:apt list --upgradeable

    升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade

    安装指定的软件命令:sudo apt install <package_name>

    安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

    更新指定的软件命令:sudo apt update <package_name>

    显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>

    删除软件包命令:sudo apt remove <package_name>

    清理不再使用的依赖和库文件: sudo apt autoremove

    移除软件包及配置文件: sudo apt purge <package_name>

    查找软件包命令: sudo apt search <keyword>

    列出所有已安装的包:apt list --installed

    列出所有已安装的包的版本信息:apt list --all-versions

13. 文件权限

  – rw- r– r–

  普通文件 文件主 组用户 其他用户 

  • r(Read,读取,权限值为4):对文件和目录来说,具有浏览权限。
  • w(Write,写入,权限值为2):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
  • x(eXecute,执行,权限值为1):对文件而言,具有执行文件的权限;对目录来说该用户具有进入目录的权限

  例子:

权限 数值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664

  

  文字设定法

  chmod [who] [+ | – | =] [mode] 文件或目录

  命令中各选项的含义为:

    操作对象who可是下述字母中的任一个或者它们的组合:

      u 表示“用户(user)”,即文件或目录的所有者。

      g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。

      o 表示“其他(others)用户”。

      a 表示“所有(all)用户”。它是系统默认值。

    操作符号可以是:

      + 添加某个权限。

      – 取消某个权限。

      = 赋予给定权限并取消其他所有权限(如果有的话)。

  数字设定法

  chmod [who] [command] [mode] 文件或目录

  命令中各选项的含义为:

    who 和文件设定法一致

    command 分三位数字,比如 777 ,777有3位,最高位7是设置文件所有者访问权限,第二位是设置群组访问权限,最低位是设置其他人访问权限;每个数字7分别为可读可                   写可执行三种权限的的和,也可以是*组合,代表不同的权限。

  chgrp命令

    功能:改变文件或目录所属的组。

    语法:chgrp [选项] group filename?

    参数:

    •   -c或–changes 效果类似”-v”参数,但仅回报更改的部分。
    •   -f或–quiet或–silent  不显示错误信息。
    •   -h或–no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。
    •   -R或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
    •   -v或–verbose  显示指令执行过程。
    •   –help  在线帮助。
    •   –reference=&lt;参考文件或目录&gt;  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
    •   –version  显示版本信息。

    例:

      chgrp - R book /opt/local /book

      改变/opt/local /book/及其子目录下的所有文件的属组为book。 

   chown命令

      功能:更改某个文件或目录的属主和属组

      语法:chown [选项] 用户或组 文件

      说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。  

      参数说明:

      user : 新的档案拥有者的使用者 ID

      group : 新的档案拥有者的使用者群体(group)

      -c : 若该档案拥有者确实已经更改,才显示其更改动作

      -f : 若该档案拥有者无法被更改也不要显示错误讯息

      -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案

      -v : 显示拥有者变更的详细资料

      -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

      –help : 显示辅助说明

      –version : 显示版本 

    例1:把文件yusi123.com的所有者改为yusi。

      chown yusi yusi123.com

    例2:把目录/demo及其下的所有文件和子目录的属主改成yusi,属组改成users。

      chown - R yusi.users /demo

    例如:chown qq /home/qq  (把home目录下的qq目录的拥有者改为qq用户)

    例如:chown -R qq /home/qq  (把home目录下的qq目录下的所有子文件的拥有者改为qq用户)

程序开发相关人员使用linux系统常用命令

上一篇:Linux Bash Heredoc 使用示例


下一篇:Linux命令之查看硬盘空间使用情况