美文网首页
linux常用命令解析

linux常用命令解析

作者: Tc2952 | 来源:发表于2019-12-24 15:20 被阅读0次

    本文原址:靠谱网

    前言

    本篇文章是基于博主学习过程中积累的命令整理,会在职业生涯中持续更新,差不多都是常用命令,方便查阅备忘之用。

    本篇教程常用命令分类如下

    系统信息;

    系统性能;

    文件和目录;

    文件权限;

    文件查找;

    查看文件内容;

    文件处理;

    用户与权限;

    磁盘管理;

    压缩与解压;

    其他常用命令。

    一、系统信息

                                                                       命令                                  命令含义

    uname显示系统信息

    cat /proc/version查看linux版本信息

    hostnamectl查看系统内核、系统版本信息

    cal 2019显示2019年日历

    ifconfig查看网卡信息

    cat /proc/cpuinfo显示CPU的信息

    cat /proc/cpuinfo | grep 'physical id'| sort | uniq | wc -l查看物理CPU个数

    cat /proc/cpuinfo|grep 'cpu cores'|uniq查看每个物理CPU的核心数

    cat /proc/cpuinfo|grep 'processor'|wc -l查看逻辑CPU个数(CPU线程数)

    ping测试连接情况

    二、系统性能

         命令                           命令含义       示例                    示例说明备注

    top实时的显示cpu、内存、进程等使用情况(类似于windows下的任务管理器)top -d 3 -p 8243 -u mysql-d为界面刷新间隔时间,默认为5秒,-p指定进程id,-u指定用户名top命令的交互以及top各输出参数含义

    free查看系统内存及虚拟内存使用情况free -h以人类可读的方式显示内存信息

    iostat查看系统磁盘io负载分析、cpu使用情况iostat 2 5每2秒显示一次统计情况,一共显示5次

    du计算文件大小du -h /usr/local/nginx/显示指定路径下的各个文件的大小并汇总

    df显示磁盘的空间使用情况df -h人类可读的方式显示磁盘空间信息

    systemctl查看正在运行的服务

    三、文件和目录

                                       命令                                                                 命令含义

    cd进入当前登录用的的家目录(Change Directory的缩写)

    cd ..返回上一级目录

    cd -返回上次所在的目录

    cd /返回到根目录

    cd ./a/b进入当前a目录下的b目录(相对路径)

    cd /usr/local进入指定目录(绝对路径)

    pwd显示工作路径(Print Working Directory的缩写)

    ls -a列出目录下所有的文件(包括隐藏文件、文件夹)

    file 文件或目录显示文件类型

    mkdir abc在当前目录下创建目录abc,mkdir是make directory的缩写

    mkdir -p /a/b/c递归创建目录,-p表示父目录不存在时,先创建父目录

    touch abc.txt创建文件abc.txt

    rm 文件删除文件

    rm -r 文件或目录删除目录及目录下所有的文件

    rm -rf 文件或目录强制删除!不询问

    mv /usr/local/a /var/b移动a到var目录下并且改名为b

    cp -ai /usr/local/abc /var/复制abc目录或者文件到var目录下(-a表示文件的属性也复制,目录下所有文件都复制,-i表示覆盖前询问)

    scp -r /usr/local/abc.txt root@192.168.0.121:/root/远程传输文件:将本机的abc.txt传输到121服务器下的root目录下

    ln -s /usr/local/abc.txt /usr/local/创建文件的软连接,快捷方式名字不变

    ln -s /usr/local/abc.txt /usr/local/def.txt创建文件的软连接,快捷方式名字变为def.txt

    ln -s /usr/local /var/对目录创建软连接

    ln /usr/local/abc.txt /usr/local/创建文件的硬连接

    四、文件权限

    命令:chmod

    命令含义:change mode的缩写,变更文件或目录的权限。

    语法1chmod [-cfvR] [{ugoa}{+-=}{rwx}] 文件或目录

    语法2chmod [-cfvR] [421] 文件或目录

    参数说明

                    参数                                                                                     参数含义

    -c若该文件权限确实已经更改,才显示其更改动作

    -f若该文件权限法务被更改也不要显示错误讯息

    -v显示权限变更的详细信息

    -R对当前目录下的所有文件和子目录进行相同权限的变更

    mode参数格式:[ugoa][+-=][rwxX][数字]

                     参数                                                                           参数含义

    u表示该文件的拥有者

    g表示与该文件的拥有者属于同一个group中

    o表示其他以外的人

    a所有

    +增加权限

    -取消全校

    =唯一设定权限

    r可读取

    w可写入

    x可执行

    X只有当该文件是个子目录或者该文件以及被设定过为可执行

    数字参数时权限含义

        权限数值      权限     二进制                                                          具体作用

    4r00000100read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。

    2w00000010write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。

    1x00000001execute,执行。当前用户可以执行文件,当前用户可以进入目录。

    示例

                    示例                                                                                   示例说明

    chmod u=rwx,g=rw,o=r test.txt给test.txt文件所有者设置读写执行的权限,给所在组设置读写权限,给其它组设置只读权限

    chmod -v u-x,g+x test.txt为test.txt文件所有者去除执行权限,为所在组增加执行权限,并打印变更权限详细信息

    chmod +x test.txt为test.txt文件的所有者、所在组、其他组都增加执行权限

    chmod 764 test.txt第一个数字7表示变更文件所有者权限为读写执行,第二个数字6表示变更文件所在组权限为读写,第三个数字4表示变更其他组权限为只读

    chmod 600 test.txt给test.txt文件所有者设置读写的权限,其他所有人和组都无任何权限

    命令:chown

    命令含义:change owner的缩写,更改所有者和所属组。

    语法chown [-cfvR] user[:group] 文件或目录

    user: 表示新的文件拥有者的使用者 ID

    group: 表示新的文件拥有者的使用者组(group)

    示例

                                        示例                                                        示例说明

    chown tom test.txt更改所属用户为tom

    chown :people test.txt更改所属组为people

    chown -R tom:people /usr/a目录更改a目录及子目录的所有者为tom、所属组为people

    五、文件查找

    命令:locate

    命令含义:在mlocate数据库中搜索条目.

    语法locate [OPTION]… [PATTERN]…

    特点

    ①.非实时,模糊匹配,查找是根据全系统文件数据库进行的;

    ②.如果文件数据库不存在,则不能查找;

    ③.updatedb,手动生成文件数据库;

    ④.基于索引查找,查找速度快;

    参数说明

                            参数                                                                         参数含义

    -A, –all只显示匹配所有模式的条目

    -b, –basename只匹配路径名的基本名称

    -c, –count只显示找到的条目的数目

    -d, –database DBPATH使用 DBPATH,而非默认数据(即:/var/lib/mlocate/mlocate.db)

    -e, –existing只显示当前存在的文件条目

    -L, –follow当文件存在时跟随蔓延的符号链接(默认)

    -h, –help显示帮助信息

    -i, –ignore-case匹配模式时忽略大小写区别

    -l, –limit, -n LIMIT限制为 LIMIT项目的输出(或 计数)

    -m, –mmap被忽略,用于向后兼容

    -P, –nofollow, -H当检查文件时不跟随蔓延的符号链接

    -0, –null输出时以 NUL 分隔项目

    -S, –statistics不搜索项目,显示有关每个已用数据库的统计信息

    -q, –quiet不报告关于读取数据库的错误消息

    -r, –regexp REGEXP搜索基本正则表达式 REGEXP 而不是模式

    –regex模式是扩展正则表达式

    -s, –stdio被忽略,用于向后兼容

    -V, –version显示版本信息

    -w, –wholename匹配完整路径名(默认)

    示例

                       示例                                                                          示例说明

    locate /etc/sh搜索目录下所有以 sh 开头的文件

    locate passwd查找包含某个字符串的相关文件

    locate -n 5 passwd限定显示数量

    locate -i -n 5 passwd查找时不区分大小写

    命令:find

    命令含义:功能强大的系统查找命令.

    语法find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path…] [expression]

    常用参数说明

                  常用参数                                                                             参数含义

    -name按名称查找

    -size按大小查找

    -user按属性查找

    -type按类型查找

    -iname忽略大小写

    示例

                                   示例                                                          示例说明

    find /home -name "*.txt"在/home目录下查找以.txt结尾的文件名

    find /home -iname "*.txt"在/home目录下查找以.txt结尾的文件名并忽略大小写

    find . -name ".txt" -o -name ".pdf"当前目录及子目录下查找所有以.txt或者以.pdf结尾的文件

    find . -type f -atime -7当前目录下搜索最近七天内被访问过的所有文件

    find . -type f -atime +7当前目录下搜索超过七天内被访问过的所有文件

    find . -type f -amin +10当前目录下搜索访问时间超过10分钟的所有文件

    find . -type f -size +10k当前目录下搜索大于10KB的文件

    find . -type f -size 10M当前目录下搜索等于10MB的文件

    find . -type f -name "*.txt" -delete删除当前目录下所有.txt文件

    find . -name "*.java" ! -perm 644找出当前目录下权限不是644的java文件

    find . -perm 777当前目录下搜索出权限为777的文件和目录

    find . -user tom找出当前目录用户tom拥有的所有文件和目录

    find . -empty要列出所有长度为零的文件

    find /etc -maxdepth 4 -mindepth 2 -name passwd查找etc目录下,查找子目录最大深度为4层、最小深度为2层,并且文件名为passwd的文件或目录

    find . -type f -name ‘*.mp3’ -exec cp {} /tmp ‘;’查找当前目录下所有的MP3文件,并且复制到tmp目录

    说明:find命令的功能和参数及其强大和复杂,这里只列出了比较常用的参数、语法和示例。详情可查阅:find

    六、查看文件内容

                                  命令                                                                         命令含义

    cat [-n] 文件名显示文件内容,-n表示连行号一起显示

    less 文件名一页一页的显示文件内容(按q退出浏览)

    head [-n] 文件名显示文件头n行内容,n指定显示多少行

    tail -n 3 -f 文件名显示文件尾3行内容,并在文件更新时实时追加显示,没有-n默认10行

    sed -n ‘/tomcat/p’ 文件名显示包括关键词所在行

    less 文件名grep tomcat

    七、文件处理

                     命令                                                                        命令含义

    echo "test" > abc.txt将字符串”test”写入(覆盖)到abc.txt文件中,原有文本内容会被覆盖,没有abc.txt文件则会创建

    echo "test" >> abc.txt将字符串”test”追加到abc.txt文本中

    wc -lwcm abc.txt统计文本信息:-l表示统计行数,-w统计单词,-c统计字节数,-m统计字符数

    vim abc.txt查看编辑文件

    八、用户与权限

    命令:useradd

    命令含义:添加用户

    语法useradd [options] LOGIN

    参数说明

                参数                                                                               参数含义

    -c<备注>加上备注文字。备注文字会保存在passwd的备注栏位中。

    -d<登入目录>指定用户登入时的启始目录。

    -D变更预设值.

    -e<有效期限>指定帐号的有效期限。

    -f<缓冲天数>指定在密码过期后多少天即关闭该帐号。

    -g<群组>指定用户所属的群组。

    -G<群组>指定用户所属的附加群组。

    -m自动建立用户的登入目录。

    -M不要自动建立用户的登入目录。

    -n取消建立以用户名称为名的群组.

    -r建立系统帐号。

    -s指定用户登入后所使用的shell。

    -u指定用户ID。

    命令:userdel

    命令含义:删除用户

    语法userdel [options] LOGIN

    参数说明

                   参数                                                                                参数含义

    -f强制删除用户,即使用户当前已登录;

    -r删除用户的同时,删除与用户相关的所有文件。

    命令:usermod

    命令含义:用于修改用户账号

    语法usermod [options] LOGIN

    参数说明

                      参数                                                                                    参数含义

    -a|–append把用户追加到某些组中,仅与-G选项一起使用

    -c|–comment修改/etc/passwd文件第五段comment

    -d|–home修改用户的家目录通常和-m选项一起使用

    -e|–expiredate指定用户帐号禁用的日期,格式YY-MM-DD

    -f|–inactive密码过期多少天后禁用该帐号,0:密码过期就禁用帐号,-1:禁用此功能,默认值是-1

    -g|–gid修改用户的gid,改组一定存在

    -G|–groups把用户追加到某些组中,仅与-a选项一起使用

    -l|–login修改用户的登录名称

    -L|–lock锁定用户的密码

    -m|–move-home修改用户的家目录通常和-d选项一起使用

    -s|–shell修改用户的shell

    -u|–uid修改用户的uid,该uid必须唯一

    -U|–unlock解锁用户的密码

    命令:groupadd

    命令含义:添加组

    语法groupadd [options] GROUP

    参数说明

                  参数                                                                                参数含义

    -g gid指定组id

    -r创建系统组

    -f如果组已经存在,则成功退出;如果已经使用GID,则取消-g。

    命令:groupdel

    命令含义:删除组

    语法groupdel [options] GROUP

    命令:groupmod

    命令含义:用于修改组信息

    语法groupmod [options] GROUP

    参数说明

                          参数                                                                        参数含义

    -g GID修改组 ID;

    -n新组名 修改组名

    命令:passwd

    命令含义:用来更改用户的密码

    语法passwd [OPTION…] <accountName>

                            参数                                                                     参数含义

    -k, –keep-tokens保留即将过期的用户在期满后能仍能使用;

    -d, –delete删除用户密码,仅能以root权限操作;

    -l, –lock锁住用户无权更改其密码,仅能通过root权限操作;

    -u, –unlock解除锁定;

    -f, –force强制操作;仅root权限才能操作;

    -x, –maximum=DAYS两次密码修正的最大天数,后面接数字;仅能root权限操作;

    -n, –minimum=DAYS两次密码修改的最小天数,后面接数字,仅能root权限操作;

    -w, –warning=DAYS在距多少天提醒用户修改密码;仅能root权限操作;

    -i, –inactive=DAYS在密码过期后多少天,用户被禁掉,仅能以root操作;

    -S, –status查询用户的密码状态,仅能root用户操作;

    九、磁盘管理

                                                                命令                                       命令含义

    df -h显示磁盘的空间使用情况 及挂载点

    df -h /var/log(显示log所在分区(挂载点)、目录所在磁盘及可用的磁盘容量)

    du -sm /var/log/* | sort -rn根据占用磁盘空间大小排序(MB)某目录下文件和目录大小

    fdisk -l查所有分区及总容量,加/dev/sda为查硬盘a的分区)

    fdisk /dev/sdb对硬盘sdb进行分区

    mount /dev/sda1 /mnt硬盘sda1挂载到/mnt目录(mount 装置文件名 挂载点)

    mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS挂载iso文件

    umount /dev/sda1取消挂载(umount 装置文件名或挂载点)

    十、解压、缩压与打包、解包

    命令:tar

    命令含义:文件、目录打包、解包,并且支持将多个文件包成一个文件,同时还可通过gzip/bzip将该文件压缩。

    语法1tar [-czvf] 打包后文件名 文件或目录

    语法2tar [-xzvf] 需要解包的文件名

    常用参数说明

          常用参数                                                                          参数含义

    -c新建打包文件,同 -v 一起使用 查看过程中打包文件名

    -C解压到对应的文件目录。

    -x解包文件

    -f后面接要处理的文件

    -j通过bzip2方式压缩或解压,最后以.tar.br2 为后缀。压缩后大小小于.tar.gz

    -z通过gzip方式压缩或解压,最后以.tar.gz 为后缀

    -v压缩或解压过程中,显示出来过程

    -t查看打包文件中内容,重点文件名

    -r添加文件到已经压缩的文件

    -u更新压缩文件中的内容。

    -p保留绝对路径,即允许备份数据中含有根目录

    -P保留数据原来权限及属性。

    示例

                                           示例                                                           示例说明

    tar -czvf fileName.tar.gz .压缩当前目录所有文件和目录到fileName.tar.gz包中

    tar -xzvf fileName.tar.gz解压fileName.tar.gz

    tar -tf 压缩文件名查看文件名

    tar -tvf 压缩文件查看文件:所属权限、用户名用户组、日期等

    tar -zcvf bak.tar.gz bak.tar使用gzip将打包文件bak.tar压缩为bak.tar.gz

    tar -jcvf bak.tar.bz2 bak.tar使用bzip2将打包文件bak.tar压缩为bak.tar.bz2

    tar -rvf bak.tar /etc/password将/etc/password追加文件到bak.tar中

    tar -cvf bak.tar .将当前目录的文件打包为bak.tar

    tar -cvf log.tar log2012.log仅打包,不压缩!

    tar -czvf log.tar.gz log2012.log打包后,以 gzip 压缩

    tar -czvf log.tar.bz2 log2012.log打包后,以 bzip2 压缩

    说明:tar仅为打包解包命令,需要解压缩则需要跟上相应参数或指定包后缀格式

    命令:zip/unzip

    命令含义:压缩(解压)文件,压缩文件后缀为.zip

    语法1zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

    语法2unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]

    常用参数说明

                常用参数                                                                                  参数含义

    -q不显示指令执行过程。

    -r递归处理,将指定目录下的所有文件和子目录一并处理。

    -P压缩时为压缩包添加密码

    -o不必先询问用户,unzip执行后覆盖原有文件。

    -d解压时指定解压文件存放目录

    -t检查压缩文件是否正确。

    -j不处理压缩文件中原有的目录路径。

    示例

                                   示例                                                                 示例说明

    zip -r fileName.zip a目录把a目录以及子目录压缩为fileName.zip

    unzip fileName.zip -d a目录fileName.zip解压到a目录里面

    zip -r abc123.zip abc 123.txt把abc文件夹和123.txt压缩成为abc123.zip

    unzip fileName.zip把fileName.zip直接解压到当前目录下

    unzip abc*.zip把abc12.zip、abc23.zip、abc34.zip同时解压到当前目录

    unzip -v fileName.zip查看把/home目录下面的fileName.zip里面的内容

    unzip -t fileName.zip验证fileName.zip是否完整

    unzip -j fileName.zip把fileName.zip里面的所有文件解压到第一级目录

    十一、其他常用命令

    通用命令

                                           命令                                                          命令含义

    ls -l|grep "^-"| wc -l查看当前目录下的文件数量(不包含子目录中的文件)

    last显示近期用户或终端的成功登录情况。

    echo > /var/log/wtmp清除登陆系统成功的记录(此文件默认打开时乱码)

    lastb记录失败的登录尝试

    echo > /var/log/btmp清除登陆系统失败的记录

    history -c清除历史执行命令

    echo 3 > /proc/sys/vm/drop_caches释放缓存空间

    适用于CentOS、RedHat系统

    命令                                                                    命令含义

    yum install 软件安装软件

    yum list installed |grep java列出已安装的java软件

    yum remove java-1.8.0-openjdk.x86_64卸载软件(卸载JDK)

    yum update [软件]更新软件、软件库

    wget -P /usr/local https://网址下载文件到指定目录

    rpm -ivh wps-office-版本.x86_64.rpm安装rpm包(包要先下载并且要先装依赖包,这里推荐使用yum安装软件可自动下载依赖包)

    适用于适用于Ubuntu、Debian系统系统

                           命令                                                                        命令含义

    apt-get install 软件安装软件

    相关文章

      网友评论

          本文标题:linux常用命令解析

          本文链接:https://www.haomeiwen.com/subject/qihfoctx.html