Linux 基础命令

关于 Linux 

1、打开命令终端方式

  1.1、快捷键:Alt + Ctrl + T

2、创建目录方式 

  2.1、命令:mkdir A   (创建一个目录的方法,这里创建了目录'A')

  2.2、命令:mkdir -p A/B  (加上参数 -p 可创建多级目录,这里创建了'A'目录,在'A'目录创建了'B'目录)

3、查看目录下的子文件和子目录

  3.1、命令:ls /  (列出更目录 “/” 下的所有目录,不包含目录名称以“.”为开头的隐藏目录)

  ls可选参数:

    -a  显示所有文件及目录(ls内动将文件名或目录以“.”开头的视为隐藏档,不会列出)

    -l  出文件名称外,将文件形态、权限、拥有者、文件大小等详细信息列出

    -r  将文件以相反次序显示(原定英文字母次序)

    -t  将文件依建立时间先后次序列出

    -A  同-a,但不列出“.”(目前目录)及“..”(父目录)

    -F 在列出的文件名称后加一符号;列如可执行档则加“*”,目录则加“/”

    -R  若目录下有文件,则以下之文件亦皆依序列出

  注意:可同时填多个参数,如命令:ls -lr (列出文件或文件夹详细信息,同时按英文字母次序排列显示)

3、删除空的目录

  3.1、命令:rmdir desktop   (删除文件夹名称为“desktop”的空目录)

  3.2、命令:rmdir -p desktop/left  (如果desktop下的left目录删除后,desktop目录也变成了空目录,则把desktop也删除)

4、重命名文件、文件夹名称或将文件、文件夹移入其它位置

  4.1、命令:mv desktop test (如果test目录不存在,则将名为desktop的文件夹重新命名为test,如果存在,则将desktop文件夹移动到test目录下)

  4.2、命令:mv /user/rng/* /user/we (将rng目录下的所有文件和文件夹移动到we目录下)

  mv 可选参数:

    -i  若指定目录已有同名文件,则询问是否覆盖文件

    -f  在mv操作要覆盖某已有的目标文件时不给任何指示  

命令格式 运行结果
mv 文件名 文件名 将原文件名改为目标文件名
mv 文件名 目录名 将文件移动到目标目录
mv 目录名 目录名          目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名
mv 目录名 文件名 出错

5、创建文件  cat

  5.1 命令:cat >> kingdom.txt (运行命令效果如下,可以写入你要的内容)

    输入完内容只有,按Ctrl + d 保存并退出

    注意:如果文件存在,则把输入的内容追加到文件后面,如果文件不存在,则创建,并写入内容

  5. 2、命令:cat 1.txt 2.txt >> 3.txt (将文件名分别为1.txt和2.txt的文件内容合并到一个新的文件名为3.txt中)  

    cat参数:

      -b  对非空行输出行编号

      -n  对输出的所有行编号

    例子:

      cat -b kingdom.txt  (输出所有内容,只对非空的行进行编号) 

          

      cat -n kingdom.txt  (输出所有内容,对非空的行也进行编号)  

      

6、读取文件内容  more (当文件内容超过窗口时,会分屏显示文件内容)

  6.1、命令:more 3.txt (查看3.txt文件内容,内容超过窗口,分屏显示)

操作功能
空格键 显示文本下一屏内容
Enter 一次滚动文本的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串(word可替换)

    

7、查找文件内容

  7.1、命令:grep jQuery test.txt  (查找test.txt文件是否有“jQuery”字符串存在,存在则返回查找到的内容)

  

  模式查找:

    grep ^j test.txt   (行首,查找以j开头的行)

    grep y$ test.txt  (行尾,查找以y结尾的行)

  grep可选参数:  

    -n  显示匹配行及行号

    -v  显示不包含匹配文本的所有行(相当于求反)

    -i  忽略大小写

8、查找文件 find

  语法:find [搜索范围] [匹配条件]

  find可选参数:

     -name 根据名字查找

     -size    根据文件大小查找, +,-:大于设置的大小,直接写大小是等于

     -user   查找用户名的所有者的所有文件

     -group 根据所属组查找相关文件

     -type    根据文件类型查找(f文件,d目录,l软链接文件)

    -inum   根据i节点查找

    -amin   访问时间access

    -cmin    文件属性change

    -mmin   文件内容modify

9、文件备份 dump  

  dump语法:dump [-Suvj] [-level] [-f 备份文件] 待备份数据

  dump可选参数:

         -s  仅列出后面的待备份数据需要多少磁盘空间才能够备份完毕

         -u  将这次dump的时间记录到/etc/dumpdates文件中

         -v  将dump的文件过程显示出来

         -j   加入bzip2的支持,将数据进行压缩,默认bzip2的要锁等级为2

         -level  等级,0-9

         -f   有点类似tar,后面接产生的文件,可接例如/dev/st0设备文件名等

         -W   列出在/etc/fstab 里面的具有dump设置的去呗是否有备份过 

  • date命令

    • date +%Y/%m/%d -> 2019/08/05

    • date +%H:%M -> 15:30

  • cal命令:

    • cal -> 得到今天的日历

    • 基本语法:cal [[month] year]

      • cal 2019 -> 这里得到2019年的日历

      • cal 10 2019 -> 这里得到2019年10月的日历

  • bc命令(计算器)

    • 运行bc命令进入工作环境

    • 运行quit命令退出工作环境

    • 工作环境运行scale=3设置精度为3位小数

  • nano命令(超简单文本编辑器)

    。。。。。

     

     

    ** 用户组、权限:

    chgrp:改变文件所属用户组

            chgrp [-R]  dirname/filename...

    注:改变文件或目录的所属用户组,-R参数为递归

    chown: 改变文件所有者

            chown [-R] 账号名称  文件或目录

    注:改变文件或目录的所有者

    同时改变用户组和所有者:

    chown root:root test.txt

    注:将文件test.txt的用户组和所有者都改为root

    chmod: 改变文件的权限

            r-4(可读)、w-2(可写)、x-1(可执行)

    chmod [-R] xyz 文件或目录

    注:改变文件或目录的权限,-R参数为递归,xyz是rwx属性数值的相加

    ** 目录的相关操作命令:

    • 简单命令

      • cd:切换目录

      • pwd:显示当前目录

      • mkdir:新建一个新的目录

      • rmdir:删除一个空的目录

      • ls:列出目录下的子目录的文件

    • cp(复制命令)

      • 语法:cp [-adfilprsu] 源文件(source) 目标文件(destination)

        • -i 若目标文件已经存在,在覆盖时会询问操作的进行

        • -r 递归持续复制,用于目录的复制行为

    • rm(移除文件或目录)、rmdir

      • 语法:rm [-fir] 文件或目录

        • -f :就是force的意思,忽略不存在的文件,不会出现告警信息

        • -i :互动模式,在删除前会询问用户是否操作

        • -r :递归删除,常用于删除目录。非常危险的参数

    • mv(移动文件与目录,或重命名)

      • mv [-fiu] source destination

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

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

        • -u:若目标文件已经存在,且source比较新,才会更新

    • basename[basename 路径]:获取最后的文件名

    • dirname[dirname 路径]:获取最后的目录名

    • cat(文件查看命令)

      • cat [-AbEnTv] 文件名

        • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号

        • -n:打印出行号,联通空白行也会有行号,与-b的参数不通

    • tac(反向显示)

      • 参数同cat差不多

    • nl(添加行号打印)

      • -b a :表示不论是否为空行,也同样显示行号

      • -b t:如果有空行,空的哪一行不要列出行号

      • -n ln :行号在屏幕的最左方显示

      • -n rn:行号在自己字段的最右方显示,且不加0

      • -n rz:行号在自己字段的最右方显示,且加0

      • -w:行号字段占用的位数

    • tail(取文件后面几行)、head(取文件前面几行)

      • 语法:tail [-n number] 文件

        • -n 后面接数字,表示显示几行

    • which(寻找“执行文件”,根据用户的$PATH路径去查找):

      • 语法:which 文件名

    • locate(文件查找):

      • -i 忽略大小写的差异

      • -r 后面可接正则表达式的显示方式

    • find(查找文件)


    • gzip、zcat:

      • gzip压缩命令:**gzip [-cdtv#] 文件名

          -c 将压缩的数据输出到屏幕上,可通过数据流重定向来处理

          -d 解压缩的参数

          -t 可以用来检验一个压缩文件的一致性,看看文件有无错误

          -v 可以显示出原文件/压缩文件的压缩比等信息

          -# 压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好默认是 -6

       zcat读取gzip压缩文件内容命令:zcat a.txt.gz

        例子:

            压缩文件保存原文件:gzip 文件名 (比如压缩文件a.txt,则生成a.txt.gz文件)

            解压文件:gzip -d 通过gzip压缩的文件 (比如解压缩文件a.txt.gz,则解压缩成a.txt文件)

          读取gzip压缩文件的内容:zcat a.txt.gz

       

      bzip2、bzcat

        2.1、压缩文件命令:bzip2 -[cdkzv#] 文件名

          -c 将压缩的数据输出到屏幕上,可通过数据流重定向来处理

          -d 解压缩的参数

          -k 保留原文件,而不会删除原始的文件

          -z 压缩的参数

          -v 可以显示出原文件/压缩文件的压缩比等信息

          -# 压缩等级,-1最快,但是压缩比最差,-9最慢,但是压缩比最好默认是 -6

        2.2例子:

           bzip2压缩文件命令:bzip2 -z 文件名

          解压缩*.bz2文件命令:bzip2 -d 压缩文件名

       

      tar

        3.1、文件tar打包与压缩命令:tar [-j | -z] [cv] [-f 新建的文件名] filename....     

              查看文件名命令:tar [-j |-z] [tv] [-f新建的文件名]

               解压缩命令:tar [-j|-z] [xv] [-f新建的文件名] [-c目录]    

            tar参数:

              -c 新建打包文件,可搭配-v来查看过程中被打包的文件名(filename)

              -t 查看打包文件的内容有那些文件名,重点在查看文件名

              -x 解打包或压缩的功能,可以搭配 -C (大写字母C)在特定目录打开

              (注意:-c,-t,-x不可以同时出现在一条命令中)

              -j 通过bzip2的支持进行压缩、解压缩,此时文件名最好为*.tar.bz2

              -z 通过gzip的支持进行压缩、解压缩,此时文件名最好为*.tar.gz

              -v 在压缩、解压缩过程中,将正在处理的文件名显示出来

              -f filename:-f 后面要接被处理的文件名,建议-f单独写一个参数

              -C 解压缩到指定目录

       

       

    • cut(字符串截取) :

      • cut -d'分割字符' -f fields

      • cut - c 字符范围

        • -d : 后面接分隔字符,与-f一起使用

        • -f : 依据-d的分隔字符将一段信息切割成为数段,用-f取出第几段的意思

        • -c :以字符串的单位取出固定字符区间

    • grep(分析字符串)

      • 语法:grep [-acinv] [--color=auto] '查找字符串' filename

        • -a:将binary文件以text文件的方式查找数据

        • -c:计算找到'查找字符串'的次数

        • -i:忽略大小写的不用

        • -n:顺便输出行号

        • -v:反向选择,即显示出没有'查找字符串'内容的那一行

        • --color=auto:可以将找到的关键字部分加上颜色显示

      • 例子:cat king.txt | grep --color=auto '查找字符串'

    • sort(排序):

      • 语法:sort [-fbMnrtuk] [file or stdin]

        • -f : 忽略大小写的差异

        • -b :忽略最前面的空格符部分

        • -M : 以月份的名字来排序

        • -n : 使用“纯数字”来排序,默认以文字类型排序

        • -r :反向排序

        • -u : 就是uniq,相同的数据,仅出现一行代表

        • -t :分隔符,默认使用[Tab]来分隔

        • -k : 以那个区间(field)来进行排序的意思

    • uniq(去重复):

      • 语法:uniq [-ic]

        • -i : 忽略大小写

        • -c : 进行计算

    • wc(列出行、字数量):

      • -l : 仅列出行

      • -w : 仅列出多少字

      • -m :多少字符

    • tee(双向重定向):

      • 语法:tee [-a] file

        • -a :累加的方式,将数据加入到file当中

      • 例子:cat 2.txt | tee -a king.txt

    • paste(文件内容同时展示):

      • 语法:paste [-d] file1 file2

        • -d : 后面可以接分隔符,默认是以[Tab]来分隔的

        • - :如果file部分写成-,表示来自standard input 的数据的意思

    • expand(将[Tab]按键转换成空格键):

      • 语法:expand [-t] file

        • -t :后面可以接数字,Tab替换空格数

原文地址:https://www.cnblogs.com/ldl326308/p/11138456.html