• 新手Linux命令-2


    • df(disk free磁盘空闲空间):列出已挂载磁盘的使用情况。格式:df [选项] [文件或目录] (df命令读取的范围主要是在Super block内的信息(主要针对整个文件系统),显示结果的速度非常快速)。

    选项

    作用

    -h

    人性化(GBMBKB等格式)显示信息

    -i

    不用硬盘容量,而以inode的数量来显示

    -a

    列出所有的文件系统,包括系统特有的/proc(一个虚拟文件系统,放置的数据在内存当中,本身不占用任何硬盘空间)等文件系统

    -T

    连同该分区的文件系统名称(例如ext3)也列出

    Filesystem:代表该文件系统是在哪个分区(因此列出了设备名称)

    1K-blocks:说明下面的数字单位是1KB。可利用-h或-m参数来改变显示单位

    Used:已使用的磁盘空间

    Available:可用的磁盘空间大小

    Use%:磁盘使用率。若超过90%,须注意一下

    Mounted on:磁盘挂载的目录所在(挂载点)

       

    df -hT:将系统内的文件系统及名称列出,容量结果以易读的格式显示。

       

    查看/etc下可用的磁盘容量,并以易读的容量格式显示出来,且会自动分析目录或文件所在的分区。

    • ifconfig(interface config网卡配置):获取网卡配置与网络状态等信息。格式:ifconfig [网络设备] [参数]。

    • uname(unix name):查看系统内核与系统版本等信息。格式:uname [选项]。

      一般会固定搭配上-a参数来完整查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息

    • who(谁):查看当前登入主机的用户终端信息。

    登陆的用户名

    终端设备

    登陆到系统的时间

    root

    :0

    2017-08-24 17:52 (:0)

    root

    pts/0

    2017-08-24 17:52 (:0)

    who命令显示信息的解析: <https://zhidao.baidu.com/question/148128945.html>

    <https://zhidao.baidu.com/question/339930341.html>

    w:Show who is logged on and what they are doing.

    <http://blog.csdn.net/u012110719/article/details/42298237>

    whoami(我是谁):print effective(有效) userid

    who am i

    id(identity身份): print real and effective user and group IDs

    • last(最近的):查看用户的最近登录记录(/var/log/wtmp)。

      (本机的登录记录信息是以日志文件的形式保存在系统中的数据内容,骇客可轻易进行内容篡改,不能单凭以该命令输出的信息而判断系统有无被恶意入侵)

      lastlog:显示系统中所有用户最近一次的登录信息(/var/log/lastlog)。

    • history(历史):显示历史执行过(近1000条)的命令(它是一个函数 history(3),不是一条普通的命令)。格式:history [选项] [参数]。

      history n:列出最近使用的n条历史命令

      可以使用"!编码数字"的方式来重复执行某一次的命令

      历史命令会被保存到用户家目录中的".bash_history"文件中(cat ~/.bash_history)。

      history -c:清空该用户在本机中执行过的linux命令历史记录信息

    • sosreport:用于收集系统配置并诊断信息后输出结论文档。

      当Linux系统出现故障需要联系红帽厂商或其他技术支持时,大多数时候都要先使用这个SOS功能来简单收集计算机的运行状态和服务配置信息,以便让技术支持公司能够通过远程就解决了一些小问题,又或者让他们能对复杂问题能提前有些了解。

      (资料压缩文件以及校验码)

    • pwd(print working directory输出当前工作目录):显示当前所处的工作目录。格式:pwd [选项]。
    • cd(change directory改变目录):切换工作路径。格式:cd [目录名称]。

      仅输入cd:代表cd ~

      cd -:返回到上一次所处的目录

      cd ..:返回上一层目录(注意空格)

      (根目录"/"的上层目录(..)与根目录本身(.)是同一个目录)

      cd ~:切换到当前用户的家目录,亦或使用"cd ~username"则可以切换到其他用户的家目录

      绝对路径:一定由根目录"/"写起,如/var/spool/mail(建议使用)。

      相对路径:对于目前工作目录的路径。不是由根目录"/"写起,如由/var/spool/mail要到/var/spool/cron目录,可以写成cd ../cron。

    • ls(list directory contents列出目录的内容):显示目录中的文件信息。格式:ls [选项] [文件]。

      ls -a:查看全部文件(包括隐藏文件),Linux系统中以点(.)开头的文件均代表隐藏文件,一般大多会是系统服务文件。(蓝色字体显示的为目录(文件夹))

      ls -l(ll):查看文件的属性、大小(长数据串)等详细信息

    详解请见 <http://blog.csdn.net/sjzs5590/article/details/8254527>

    <http://baijiahao.baidu.com/s?id=1582175688777520981&wfr=spider&for=pc>

    <http://blog.csdn.net/xinlongabc/article/details/46801641>

    ls -al:查看所有文件的详细信息

    ls -li:查看文件的详细信息,并显示索引结点号inode(每个文件都会占用一个inode)

    ls -ld:仅查看目录本身的属性信息(不列出目录内的文件数据)

    ls -R:连同子目录内容一起列出来,等于该目录下的所有文件都会显示出来

    -F:根据文件、目录等信息给予附加数据结构

    -h:将文件容量以人类较易读的方式(例如GB、KB等)列出来

    --time={atime,ctime}:输出访问时间(atime)或改变权限属性时间(ctime)(ls -l命令默认显示文件的修改时间(mtime))

    • cat(concatenate连续):查看纯文本文件(较短的、比较精简的文本内容,不可翻页,连续显示)。格式:cat [选项] [文件]。

      cat -n:查看文本内容时顺便打印出行号(空白行也会有行号(-b参数针对空白行则不打印行号))

      tac (反向列示):文件的最后一行到了屏幕的第一行了,也就是说文件的第一行就到了最后一行去了。

      nl (添加行号打印):

      选项:

      -b 指定行号指定的方式,主要有两种:

      -b a 表示不论是否为空,也同样列出行号(类似cat -n

      -b t 如果有空行,空的那行不列出行号(默认值)

      -n 列出行号表示的方法,主要有三种:

      -n ln 行号在屏幕最左方显示;

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

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

      -w 行号字段占用的位数。

    • more:查看纯文本文件(较长的文本内容,可翻页)。格式:more [选项] 文件

      (会提示已经阅读了百分之多少)。

    回车键:下滚一行

    空格键:下翻一页

    b:往回翻页(此回翻页操作只对文件有用,对管道无用)

    /关键词:向下查询关键字

    :f(冒号+f):立刻显示出文件名以及目前显示的行数

    q:离开

    less:more命令的加强版,可向前翻页,界面和操作与man命令类似(man命令调用less来显示说明文件的内容)

    • head(头):查看纯文本文档的前n行(默认显示前10行)。格式:head [选项] [文件]。

    选项

    作用

    -n

    后面接数字,代表显示文件前几行的内容

    -c nK

    后面接容量(如2K),代表显示文件前nKB的内容

    • tail(尾):查看纯文本文档的后n行(默认显示后10行)。格式:tail [选项] [文件] 。

    选项

    作用

    -n

    后面接数字,代表显示文件后几行的内容

    -c nK

    后面接容量(如2K),代表显示文件末尾nKB的内容

    tali -f:持续刷新一个文件的内容(可用于实时看到最新日志文件)(ctrl+c离开)

    • watch(观察):以周期性的方式执行给定的指令,指令输出以全屏方式显示。格式:watch [选项] [参数]。

    选项

    作用

    -n

    指定指令执行的间隔时间(秒)

    -d

    高亮显示指令输出信息不同之处

     

    -t

    不显示标题

    参数:需要周期性执行的指令

    • od(octal dump八进制转储):查看特殊格式的文件(非纯文本文件查看)。格式:od [选项] [文件]。

    选项

    作用

    -t a

    默认字符

    -t c

    ASCII字符

     

    -t o

    八进制

    -t d

    十进制

    -t x

    十六进制

    -t f

    浮点数

    • tr(translate转化):替换文本文件中的字符。格式:tr [原始字符] [目标字符]。

      (先使用cat命令读取待处理的文本内容,然后通过管道符"|"把这些数据传递给tr命令做替换操作)小写字母全部转换为大写:

      tr -d [目标字符]:删除信息当中的目标字符

    • wc(word count字数统计):统计指定文本的行数、字数、字节数等文本内容。格式:wc [选项] 文本

    选项

    作用

    -l

    只显示行数

    -w

    只显示单词数

    -c

    只显示字节数

    (passwd是用于保存系统帐户信息的文件,可使用命令wc -l /etc/passwd统计当前系统中有多少个用户)

    • sort(排序):将文件按照默认语言的顺序规则进行排序,并将排序结果标准输出。格式:sort [选项] 文件名或标准输入。(对于系统语言为英语而言,小写字母优先于大写字母显示,即认为小写字母'a'是大于大写字母'A的')

    选项

    作用

    -f

    忽略大小写的差异

    -b

    忽略每行最前面的空格符部分

    -n

    依照"纯数字"的大小排序(默认是以文字类型来排序的)

    -r

    反向排序

    -t

    设置分隔符(默认以tab键分隔)

    -k

    以分隔的第几个区间来进行排序

    -u

    相同的数据中,仅出现一行代表(相当于uniq命令)

    cat /etc/passwd | sort -t ':' -k 3 : 以:作为分隔符,对第三列进行排序

    • uniq(unique独一的):忽略文件中的重复行,一般与sort命令配合管道符结合使用。格式:uniq [选项] 文件名或标准输入。

    参数

    作用

    -i

    忽略大小写字符

    -c

    进行计数处理

    last | cut -d ' ' -f 1 | sort | uniq : 使用last命令将用户的登入记录列出;再使用cut命令以空格为间隔符提取第一列内容;接着使用sort命令根据第一个数据进行排序;最后通过uniq命令仅列出一行代表,并进行计数处理。

    • stat(status状态):查看文件的具体存储信息和时间等信息。格式:stat 文件名称。

    • netstat(network status网络状态):查看网络系统的状态信息。格式:netstat [选项]。

    选项

    作用

    -a

    显示所有连接中的套接字(netstat命令默认不显示LISTENI监听状态相关)

    -t

    仅显示tcp传输协议的连接状况

    -u

    仅显示udp传输协议的连接状况

    -l

    仅显示处于监听状态的服务器套接字

    -n

    使用ip地址(数字numeric)表示,不使用域名显示

    • ping:测试主机之间网络的连通性。格式:ping [选项] 目的主机。

    选项

    作用

    -c

    规定完成要求回应的次数(ping命令默认一直持续)

    -i

    指定收发信息的间隔时间

    -W(大写)

    定义等待超时时间

    • cut(切割):按"列"来提取文本字符(以"行"为单位)。格式:cut [选项] 文本。

    -d:设置间隔符号(要与-f参数一起使用)

    -f:设置需要看的列数(第几段)

    cut -d : -f 1 /etc/passwd : 提取passwd文件中的用户名信息)

    (cut -d : -f 1,2 /etc/passwd:提取第1,2列)

    统计当前系统中有多少个用户(使用通配符"|"和wc -l命令查看行数)

    • diff(difference不同):比较多个文本文件的差异。格式:diff [选项] 文件

    --brief:仅确认两个文件是否不同

    -c:详细比较多个文件的差异之处

       

    • file(文件):查看文件的类型。格式:file 文件名。

    • touch(触摸):创建空白文件与设置文件的各种时间。格式:touch [选项] [文件]

    选项

    作用

    -a

    仅修改"访问时间"atime

    -m

    仅修改"更改时间"(mtime

    -d

    同时修改atimemtime

    Linux中的文件有三种时间(Linux一切皆文件(目录文件、设备文件、链接文件、普通/文本文件等),文件之间只区分类型,而不区分后缀)(Linux中没有文件创建时间的概念

    来自 <https://www.zhihu.com/question/21071680> ):

    修改时间(mtime):内容修改时间(不包括权限的)(modify time)

    更改时间(ctime):更改权限与属性的时间(change time)

    读取时间(atime):读取文件内容的时间(access time)

    (ls -l命令默认显示文件的修改时间(mtime))

    • mkdir(make directory创建目录):创建空白的文件夹。格式:mkdir [选项] 目录

      mkdir -p [目录]:递归创建出具有嵌套叠层关系的文件目录

      rmdir:删除空目录,rmdir -p [目录]:连同上层的空目录也一起删除

    • cp(copy复制):复制文件或目录。格式:cp [选项] 源文件 目标文件

      复制命令的三种情况:

      • 目标对象是一个目录(目录名尾部须加上正斜线/),会将源文件复制到该目录中
      • 目标对象也是一个文件,会询问是否覆盖
      • 目标对象不存在,将会复制源文件并修改为目标文件的名称(可用作重命名)

    选项

    作用

    -p

    保留原始文件的属性,而非使用默认属性(备份常用)

    -d

    若对象为"链接文件",则保留该"链接文件"的属性

    -r

    递归持续复制(用于目录)

    -i

    若目标文件存在则询问是否覆盖(默认执行-i参数)

    -a

    相当于-pdrp,d,r为上述的参数)

    -f

    强制(force)复制,若目标文件已存在直接覆盖

    (不同身份者执行cp命令可能会有不同的结果产生,这里以root身份为例)

    (复制行为cp会复制执行者(本例中:root)的属性与权限。默认条件中,cp的源文件与目的文件的权限是不同的,目的文件的所有者通常是命令操作者本身)

    • mv(move移动):移动文件(剪切)或改名。格式:mv [选项] 源文件 [目标路径|目标文件名]。

    选项

    作用

    -i

    若目标文件存在则询问是否覆盖(默认执行-i参数)

    -f

    强制(force)移动,若目标文件已存在直接覆盖

    -u

    若目标文件已经存在,且source比较新,才会更新(update

    • basename(文件基本名):仅显示目录的基本名称;

      dirname(目录名):仅显示与目录相关的内容(读取指定路径最后一个/及其后面的字符,删除其他部分)。

      这两个命令多用在shell脚本中

    • rename(重命名):用字符串替换的方式批量改变文件名。格式:rename [参数]

    参数:

    原字符串:将文件名需要替换的字符串

    目标字符串:将文件名中含有的原字符替换成目标字符串

    文件:指定要改变文件名的文件列表

    • rm(remove删除):删除文件或目录。格式:rm [选项] 文件

      rm -f:强制(force)删除,忽略不存在的文件,不会出现警告信息(慎用)

      rm -r:递归(recursive)删除,删除一个目录文件夹

      rm -i:互动模式,删除前会询问用户是否操作(默认加入-i参数)

      (一旦删除一个文件,就无法再恢复(恢复须借助额外工具))

    • dd(disk dump磁盘转储):用于指定大小的拷贝文件或指定转换文件。格式:dd [参数]

    参数

    作用

    if

    输入的文件名称(inputfile,也可以是设备)

    of

    输出的文件名称(outputfile,也可以是设备)

    bs

    设置每个"块"的大小(block size,未指定则默认512bytes(一个扇区的大小))

    count

    设置要拷贝"块"的个数(多少个bs的意思)

    /dev/zero:一个永远输出0(提供无限的空字符)的设备文件,不占用系统存储空间,使用它作输入可以得到全为空的文件(10_file文件的内容全为0),因此可用来创建新文件和以覆盖的方式清除旧文件)

    dd命令作用:①备份分区表(第一个扇区内含有MBR(主引导分区快)与分区表),②简单测试硬盘读写速度

    使用dd命令复制并压缩光盘设备变成一个可立即使用的iso镜像:

    • tar(tape archive将文件备份到磁带上):对文件打包压缩或解压。格式:tar [选项] [文件]

      -c(create a new archive创建一个新的存档):创建打包文件

      (打包:tarfile文件,把多个文件打包成一个文件,体积不变,.tar后缀)

      (压缩:tarball文件,运用算法进行压缩使文件体积减小,.tar.gz或.tar.bz2后缀)

      -x(extract files from an archive提取文件从文档中):解打包或解压缩文件

      -z:使用gzip格式来压缩/解压文件(文件名:*.tar.gz)(gzip格式应用广泛)

      -j:使用bzip2格式来压缩/解压文件(文件名:*.tar.bz2)

      -v:显示压缩或解压的过程给用户

      -f:代表要压缩或解压的软件包名称(后面要紧接被处理的文件名,必须放到参数的最后一位)

      -C(Change to directory改变目录):指定在特定目录解压缩(注意为大写字母"C",且仅在解压时使用)

      -p:保留备份数据的原本权限与属性(常用于备份(打包-c)重要的配置文件)

      -t(list the contents of an archive列出存档):查看打包文件的内容含有哪些文件名(重点在查看文件名)

      (-c、-x、-t 这三个参数不可同时放在一起使用)

    常用:

    打包压缩:tar -czvf 压缩包名称.tar.gz 要打包的目录

    解压:tar -xzvf 压缩包名称 .tar.gz -C 解压到目录

    查阅压缩文件中的数据内容:tar -tzvf 压缩包名称.tar.gz

    tar -czvf 压缩包名称.tar.gz 要打包的目录

    (可使用-P(大写字母)参数保留绝对路径,即允许备份数据中含有根目录存在之意(不推荐))

    tar -tzvf 压缩包名称.tar.gz

       

    tar -xzvf 压缩包名称 .tar.gz -C 解压到目录

    • grep(globally search a regular expression and print以正则表达式法全域查找以及打印):对文本内容进行关键词的搜索匹配(分析一行信息,若当中有所需要的信息,就将该行拿出来)。格式:grep [选项] [关键词] [文件],可在多文件中查找。

    选项

    -a

    作用

    将可执行文件(binary)以文本文件(text)来搜索

    -c

    仅显示找到的次数

    -i

    忽略大小写

    -n

    顺便输出行号

    -v

    反向选择,即显示出没有"关键词"的行

    -e

    指定字符串作为关键词,可指定多个匹配模式

    搜索在/etc/passwd文件中"/sbin/nologin"出现的行,找出系统中不允许登录的用户

    在users.csv文件和user.txt文件中共同搜索"tony"、"yan"出现的行

    找出文件"/usr/share/gedit/plugins/snippets/docbook.xml"中所有包含entry的行并输出到/root/lines中(输出重定向):

    grep entry /usr/share/gedit/plugins/snippets/docbook.xml >> /root/lines

    • find(查找):在Linux系统中按照指定条件查找文件。格式:find [查找路径] 寻找条件 操作。

    选项

    作用

    -name

    匹配名称

    -perm

    匹配权限(mode为完全匹配,-mode为包含即可)

    -user

    匹配所有者

    -group

    匹配所有组

    -inum

    匹配inode编号

    -mtime -n +n

    匹配修改内容的时间(-nn天以内,+nn天以前)

    -atime -n +n

    匹配访问文件的时间-nn天以内,+nn天以前

    -ctime -n +n

    匹配修改权限的时间-nn天以内,+nn天以前

    -nouser

    匹配无所有者的文件

    -nogroup

    匹配无所有组的文件

    -newer f1 !f2

    匹配比文件f1新却比f2旧的文件

    --type b/d/c/p/l/f

    匹配文件类型(块设备、目录、字符设备、管道、链接文件、文件文件)

    -size

    匹配文件的大小(+50k查找超过50k的文件,-50k则代表查找小于50k的文件)

    -prune

    忽略某个目录

    -exec {} ;

    后面可接对搜索到结果进一步处理的命令

    查找在/etc目录中所有以host开头的文件(-print将文件或目录名称输出到标准输出(find默认使用-print参数))

    查找/home下面属于ysn用户的文件(可利用此命令将属于某个用户的所有文件都找出来)

    查找系统(根目录)中不属于任何人的文件

    查找当前目录下inode编号为102766589的文件

    查找系统所有文件中含有SGID或SUID或SBIT的属性

    -perm mode:查找文件权限刚好匹配

    -perm -mode:查找文件权限必须要全部包括mode的权限

    -perm +mode:查找文件权限包含任一mode的权限

    (权限详解: <http://blog.csdn.net/zengqiang1/article/details/53020853>

    找出用户ysn的文件并复制到/root/findresults目录

    find / -user ysn -exec cp -arf {} /root/findresults/ ;

    {}:代表"由find找到的内容",find的结果会被放置到{}位置中

    -exec一直到";"是关键字,代表find额外命令的开始(-exec)到结束(;),在这中间的就是find命令内的额外命令。在本例中就是"cp -arf {}"

    因为;分号在bash环境下是有特殊意义的,因此利用反斜杠来转义

    linux查找目录下所有文件中是否含有某个字符: <http://blog.csdn.net/duguduchong/article/details/7716908>

    • locate(定位):find -name的另一种写法,但查找速度比后者快得多,因为locate寻找的数据是由已创建的数据库/var/lib/mlocate/里面的数据所查找到的。这个数据库中包含本地所有文件信息,默认是每天执行一次更新。所以新建文件后再立即查找该文件,locate命令会"提示找不到"。

      updatedb(更新资料库):手动更新数据库。updatedb命令会去读取/ect/updatedb.conf这个配置文件的设置,然后再去硬盘里进行查找所有文件名的操作,最后更新整个/var/lib/mlocate数据库文件

    • whereis(在哪):寻找特定文件。(在指定数据库中查找,类同locate命令)

    选项

    作用

    -b

    只查找二进制格式的文件(执行文件、命令)

    -m

    只查找在说明文件manual路径下的文件

  • 相关阅读:
    leetcode 3sum
    leetcode majority elements
    php调取linux的压缩命令进行压缩
    mysql 分区、分表、分库分表。
    如何在数据库中使用索引
    PDO 的基本操作
    JavaScript中常见的字符串操作函数及用法汇总
    php-fpm
    phpmyadmin导入导出数据库文件最大限制的解决方法
    php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳。
  • 原文地址:https://www.cnblogs.com/dayoyan/p/8654888.html
Copyright © 2020-2023  润新知