美文网首页
Linux命令大全

Linux命令大全

作者: 超饿困因子 | 来源:发表于2017-09-15 16:11 被阅读0次

    查询目录中的内容:ls

    • ls -a :显示所有文件,包括隐藏文件

    • ls -l :显示详细信息,也可写作 ll

    • ls -d :查看目录属性

    • ls -h :人性化显示文件大小

    • ls -i :显示inode

    这些命令不加文件默认会操作当前文件夹下所有文件


    文件处理命令

    目录处理命令:

    • mkdir -p [目录名]:创建目录
      -p:创建多级目录
      mkdir -p father/son
      会创建 father/son 两级目录

    • cd :切换目录 control+l 是清屏

    cd ~ :进入用户的home目录

    cd - :进入上次目录

    cd .. :进入上一级目录

    cd . :进入当前目录

    • pwd :输出当前工作目录
    • rm -rf [文件或目录]:强制删除目录

    • cp [选项] [原文件或目录] [目标目录] :复制

      cp -r [原文件或目录] [目标目录] : 复制目录

      cp -p [原文件或目录] [目标目录] : 连带文件属性复制

      cp -d [原文件或目录] [目标目录] :若源文件是链接文件,则复制链接属性

      cp -a [原文件或目录] [目标目录] :相当于 -pdr

    • mv [ 原文件或目录] [目标目录] :剪切

    常用目录

    • / :根目录

    • /lib :存放一些linux的库函数

    • /mnt : 系统挂载目录

    • /home : 普通用户家目录

    • /root : 超级用户家目录

    • /tmp :存放一些临时文件

    • /dev :设备文件保存目录,硬件信息

    • /ect :配置文件保存目录

    • /boot : 启动目录,启动相关目录

    • /media : 挂载光盘目录

    • /proc : 直接写入内存

    • /usr : 系统资源保存目录

    • /var和/sys :用来保存内存的挂载点,不可进操作

    • /bin 和/sbin :用来保存系统目录的 bin只有普通用户可以用 sbin只有超级用户可以用

    链接命令

    • ln -s [原文件] [目标文件] : 软连接

    • ln [原文件] [目标文件] : 硬链接


    文件搜索命令

    • locate [文件名] :文件搜索命令

    • updatedb :后台数据库更新

    1.在后台数据库中按文件名搜索,搜索速度更快
    2.后台数据库是/var/lib/mlocate
    3.这个数据库不是实时更新的,每天更新一次或者执行数据库更新命令。

    • whereis [命令]: 搜索命令的命令

    • whereis -b [命令] : 只查找可执行文件

    • whereis -m [命令]: 只查找帮助文件

    • which [文件名] :搜索命令所在路径及别名

    • find [搜索范围] [搜索条件]:文件搜索命令

      1.按照文件时间搜索:
      find [搜索范围] [时间条件] n
      时间条件:
      atime:文件访问时间
      ctime :改变文件属性
      mtime:修改文件内容
      -n n天内修改文件
      n n天当天修改的文件
      +n n天前修改的文件
      eg:

    find [搜索范围] -mtime +10
    代表的意思是:在搜索范围内查找10天前修改的文件

    2.按照文件大小搜索:
    find [搜索范围] -size nk
    -nk :小于nKB的文件
    nk : 等于nKB的文件
    +nk :大于nKB的文件
    需要注意的是:千字节是小写k,兆字节是大写M
    eg:

    find [搜索范围] -size -25k
    代表的意思是:在搜索氛围内查找小于25KB的文件

    3.按照结点搜索:
    eg:

    find [搜索范围] -inum 9527
    意思是:在搜索范围内查找i节点是9527的文件

    4.按照文件大小范围搜索:
    -a :逻辑与,两个条件都满足
    -o:逻辑或,两个条件满足一个即可
    eg:

    find [搜索范围] -size +20k -a -size -50k
    意思是:在搜索范围内查找大于20kb并且小于50kb的文件

    • grep [选项] 字符串 文件名:搜索字符串命令
      选项:
      -i 忽略大小写
      -v 排除指定字符串

    帮助命令

    帮助命令man

    • man [命令] :获取指定命令的帮助

    • man 的命令级别
      1.查看命令的帮助
      2.查看内核可调用的函数的帮助
      3.查看函数和函数库的帮助
      4.查看特殊文件的帮助
      5.查看配置文件的帮助
      6.查看游戏的帮助
      7.查看其它杂项的帮助
      8.查看系统管理员可用的命令帮助
      9.查看和内核文件相关文件的帮助

    • man -f [命令]:查看命令有几个等级帮助

    • man -k [命令]:查看和命令相关的所有帮助

    • 按q退出man界面

    其它帮助命令

    • [命令] --help :获取命令选项的帮助

    • help [shell内部命令]:获取shell内部命令的帮助
      eg:

    whreris cd(确定是否是shell内部命令)
    cd 是
    help cd(获取内部命令帮助)

    • info [命令]:详细命令帮助,会进入一个巨大的帮助文档

    压缩和解压缩命令

    .zip格式压缩

    • zip [压缩文件名] [源文件] :压缩文件

    • zip -r [压缩目录名] [源目录] : 压缩目录

    • unzip [压缩文件] :解压缩.zip文件

    .gz格式压缩

    • gzip [源文件] :压缩为.gz格式的压缩文件,源文件会消失

    • gzip -c [源文件] > [压缩文件]:压缩为.gz格式,源文件保留

    • gzip -r [目录]:压缩目录下所有的子文件,但是不能压缩目录

    • gzip -d [压缩文件]:解压缩文件

    • gunzip [压缩文件]:解压缩文件

    .bz2格式压缩

    • bzip2 [源文件]:压缩为.bz2格式,不保留源文件

    • bzip2 -k [源文件]:压缩之后保留源文件

    • bzip2 -d [压缩文件]:解压缩,-k保留压缩文件

    • bunzip2 [压缩文件]:解压缩,-k保留压缩文件

    .tar.gz格式压缩(常见)

    • tar -cvf [打包/目录文件名] [源文件/目录]:打包命令
      -c:打包
      -v:显示过程
      -f:指定打包后的文件名

    • 其实.tar.gz格式和.tar.zb2格式是先打包为.tar格式,再压缩为.gz格式

    • tar -zcvf [压缩包名.tar.gz] [源文件]:压缩为.tar.gz格式

    • tar -zxvf [压缩包名.tar.gz]:解压缩.tar.gz格式

    .tar.bz2压缩格式(常见)

    • tar -jcvf [压缩包名.tar.bz2] [源文件]:压缩为.tar.zb2格式

    • tar -jxvf [压缩包名.tar.bz2]:解压缩.tar.zb2格式

    • [解压命令] -C [目标目录]:将解压文件/目录存到目标目录下

    • tar -ztvf [压缩包名]:查看压缩包


    关机和重启命令

    • shutdown -h [时间] : 关机

    • shutdown -r [时间] :重启

    • shutdown -c [时间]:取消前一个关机命令

    • [时间]可以写now 或者具体时间

    • reboot:重启

    • init [选项] :进入系统运行级别
      选项:
      0 : 关机
      1 :单用户
      2 :不完全多用户,不含NFS服务
      3 : 完全多用户
      4 :未分配
      5 :图形界面
      6 :重启

    • runlevel:查询当前系统运行级别

    • logout:退出登录命令


    其它常用命令

    • more:它以全屏幕的方式按页显示文本文件的内容

    • ifconfig :查看当前网卡

    • table键:系统命令补全

    • clear:清屏命令

    • cat [文件名]:查看文件

    • touch [文件名]:创建文件

    • data:显示时间

    • cal:显示日历

    • sudo :超级用户

    • su :更改用户为root

    • chmod +x+r+w:添加执行/读/写权限

    • ps:查看进程

    • kill pid :结束某个进程

    挂载命令

    • mount : 查询系统中已经挂载的设备

    • mount -a :依据配置文件/etc/fstab的内容,自动挂载

    • mount [-t文件系统] [设备文件名] [挂载点] :加入文件系统类型来指定挂载的类型,可以是ext3 ext4 iso9660等文件系统

    • mount [-o 特殊选项] [设备文件名] [挂载点]:可以指定挂载的额外选项

    mount /dev/sr0 /mnt :把光盘挂载到mnt目录下

    • umount [设备文件名或挂载点]:卸载命令

    umount /mnt :把mnt目录下的光盘卸载

    • fdisk -l:查看U盘设备文件名

    • mount -t vfat /dev/sdb [挂载点]:挂载U盘

    mount -t vfat /dev/sdb /mnt :将U盘挂载到mnt目录下

    查看登录用户信息

    • w:查看登录用户的信息

    • who:查看登录用户名,终端和时间

    • last:查询当前登录和过去登录的用户信息

    • lastlog:查看所有用户的最后一次登录时间


    Shell相关命令

    • echo "[输出内容]" :输出命令 有空格需要打引号

    • echo -e [选项] "[输出内容]":改变输出格式样式等等
      选项:
      \a:输出警告音
      \b:退格键,也就是向左删除键
      \n:换行符
      \r:回车键
      \t:制表符号,就是tab键
      \v:垂直制表符
      \0nnn:按照八进制ASCLL码表输出字符,其中0为数字零,nnn是三位八进制数
      \xhh:按照十六进制ASCLL码表输出字符,其中hh是两位十六进制数
      \e[1;31m...\e[0m:显示颜色

    • vi hello.sh :写一个脚本

    • sh [脚本名称]:执行该脚本

    bash相关命令

    • alias:查看系统中所有命令的别名

    • alias [别名] = [原命令]:设定命令别名

    • unalias [别名]:删除别名

    • history -c:清空历史命令

    • history -w:把缓存中的历史命令写入历史命令保存文件

    • !!:执行上一条命令

    • ! [字符串]:重复执行最后一条以该字符串开头的命令

    输出重定向

    类型 符号 作用
    标准输出重定向 [命令] > [文件] 以覆盖的方式,把命令的正确输出到指定的文件或设备当中
    标准输出重定向 [命令] >[文件] 以追加的方式,把命令的正确输出到指定的文件或设备当中
    标准错误输出重定向 错误命令 2>文件 以覆盖的方式,把命令的错误输出到指定的文件或设备中
    标准错误输出重定向 错误命令 2>>文件 以追加的方式,把命令的错误输出到指定的文件或设备中
    正确输出和错误输出同时保存 命令&>>文件 以追加的方式,把正确和错误输出都保存到同一个文件当中

    输入重定向

    • wc [选项] [文件名]:统计文件中的字节,单词,行数
      选项:
      -c:统计字节数
      -w:统计单词数
      -l :统计行数

    管道符

    多命令顺序执行

    多命令执行符 格式 作用
    命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑联系
    && 命令1&&命令2 逻辑于,当命令1正确执行,则才执行命令2。当命令1不正确执行,则不执行命令2
    ll 命令1ll命令2 逻辑或,当命令1执行不正确,则命令2才会执行。当命令1正确执行,则命令2不会执行
    * && 应该在 前书写
    • 命令1|命令2:命令1的正确输出作为命令2的操作对象
      eg:

    netstat -an | grep ESTABLISHED

    -a/etc/ | more

    通配符

    通配符 作用
    匹配任意一个
    * 匹配0个或任意字符,也就是可以匹配任何内容
    [ ] 匹配中括号中任意一个字符。例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
    [-] 匹配中括号中任意一个字符,-代表一个范围 例如:[a-z]代表匹配一个小写字母
    [^]: 逻辑非,表示匹配不是中括号内的一个字符 例如:[^0-9]代表匹配一个不是数字的字符

    Bash中其他特殊符号

    符号 作用
    ’ ’ 单引号。在单引号中所有的特殊符号,如“$”和“`”都没有特殊含义
    \ 转义符。跟在\之后的特殊符号将失去特殊含义,变为普通字符
    # 注释
    $ 用语调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值
    $() 括号里的内容是系统命令,在Bash中会先执行它。

    vim编辑器常用指令

    底行模式常用指令

    • w:保存

    • q:退出

    • ! :强制执行

    • ls:列出编辑器当前执行的所有文件

    • n:切换到下一个文件

    • 15:将光标切换到第15行

    • /xxx:从光标位置向后搜索,直到xxx第一次出现的位置

    • ?xxx:从光标位置向前搜索,直到xxx第一次出现的位置

    命令模式常用指令

    • h:光标左移

    • j :光标下移

    • k:光标上移

    • k:光标右移

    • ctrl + f :向下翻页

    • ctrl + b :向上翻页

    • ctrl + d :向下翻半页

    • ctrl + u :向上翻半页

    • dd :删除光标所在行

    • o:在光标所在行的下方插入一行并切换到输入模式

    • yy:复制光标所在的这一行


    磁盘管理

    • df -l :查看磁盘分区使用状况,仅显示本地磁盘

    • df -a :查看磁盘分区使用状况,显示所有文件系统的磁盘使用情况,包含比如/proc/

    • df -h :查看磁盘分区使用状况,以1024进制计算最合适的单位显示磁盘容量

    • df -H:查看磁盘分区使用状况,以1000进制计算最合适的单位显示磁盘容量

    • df -T :查看磁盘分区使用状况,显示磁盘分区类型

    • df -t :查看磁盘分区使用状况,显示指定类型文件系统的磁盘分区

    • df -x:查看磁盘分区使用状况,不显示指定类型文件系统的磁盘分区

    • du -b:以byte为单位统计文件大小

    • du -k:以KB为单位统计文件大小

    • du -m:以MB为单位统计文件大小

    • du -h:按照1024进制以最合适的单位统计文件大小

    • du -H:按照1000进制以最适合的单位统计文件大小

    • du -s:指定统计目标

    磁盘的分区

    MBR分区:

    主分区和扩展分区总数不能超过4个
    扩展分区最多只能有一个
    扩展分区不能直接存取数据,必须在扩展分区内部建立逻辑分区

    • fdisk :查看磁盘

    • fdisk [ 磁盘路径]:进入分区模式

    • m :分区命令详解

    GTP分区(常用,不能用于32位,X86)

    • parted:启动分区工具

    • help:parted帮助命令

    • select [磁盘名]:切换分区磁盘

    • mklabel:指定分区表

    • print:查看当前磁盘分区类型

    交互模式分区:

    • mkpart :创建一个分区,接下来跟着步骤走,注意4K对齐

    命令分区:

    • mkpart [名称] [位置]

    mkpart test 2000 3000

    • rm [分区编号]:删除分区

    磁盘的格式化

    格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。格式化通常分为低级格式化和高级格式化。如果没有特别指明,对硬盘的格式化通常是指高级格式化,而对软盘的格式化则通常同时包括这两者。

    • mkfs :磁盘格式化工具
    • mkfs.[格式化后文件系统] [区名]:格式化

    mkfs.test3 /dev/sdb1

    swap交换分区

    Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

    • 步骤

    1.建立一个普通的Linux分区

    用之前建立的sdb6分区

    2.修改分区类型的16进制编码

    • t 输入编码6
    • L:查看编码的列表
    • 可以看出swap分区是82 输入82
    • w 保存

    3.格式化交换分区

    • mkswap /dev/sdb6

    4.启用交换分区

    • swapon /dev/sdb6:启用
    • swapoff /dev/sdb6:停止

    分区的挂载

    通过mount命令挂载的分区不具有永久性,重启挂载就会失效,可以通过编辑etc目录下的fstab配置文件,实现自动挂载

    vim + /etc/fstab

    配置文件:
    [设备名称] [挂载点] [文件系统类型] defaults 0 0

    /dev/sdb1 /mnt/abc ext3 defaults 0 0


    用户管理

    用户和用户组

    • 用户:使用操作系统的人

    • 用户组:具有相同系统权限的一组用户

    • /etc/group:存储当前系统中所有用户组信息

    • /etc/gshadow:存储当前系统中用户组的密码信息

    • /etc/passwd:存储当前系统中所有用户的信息

    • /etc/shadow:存储当前系统中所有用户的密码信息

    • groupadd [用户组名称]:创建一个新的用户组并命名

    • groupmod -n [信用户组名称] [旧用户组名称]:更改此用户组名称

    • groupmod -g [主编号] [组名称]:修改组的主编号

    • grouped -g [主编号xxx] [组名称n]:创建一个主编号为xxx,组名称为n的用户组

    • groupdel [组名称]:删除此用户组,删除之前要先删用户信息!

    • useradd -g [用户组名n] [用户名m]:在n用户组里创一个m用户

    • usermod -c [备注信息] [用户名]:给用户添加一个备注

    • usermod -l [新用户名] [旧用户名]:更改用户名

    • usermod -d /home/[文件夹名] [用户名]:为用户创建一个文件夹

    • usermod -g [用户组n] [用户m(原本m没在用户组n中)]:将用户m切换到n用户组中

    • userdel [用户名]:删除用户名

    *userdel -r [用户名]:删除用户名和它的相关文件

    • touch /etc/nologin:禁止用户登录服务器(除了root)

    • passwd -l [用户名]:锁定用户

    • passwd -u [用户名]:解锁用户

    • passed -d [用户名]:清楚用户密码

    主要组与附属组

    • 用户可以同时属于多个组
      一个主要组
      多个附属组

    • gpasswd -a [用户名m] [附属组名s]:将用户m添加到附属组s

    • gpasswd -d [用户名m] [附属组名s]:将用户m从附属组s删除

    • newgrp [目标附属组] :切换目标附属组,加组密码

    • useradd -g [主要组名称] -G [附属组名称,可以写多个,逗号链接]:创建一个用户,为其分配主要组和附属组

    • gpasswd [用户组名称]:设置组密码

    • su [其他用户名]:切换用户名

    • id [用户名]:显示用户名的信息

    • groups [用户名]:显示用户所在的所有组

    • chin [用户名]:设置用户资料,依次输入用户资料

    • finger [用户名]:显示用户详细资料

    相关文章

      网友评论

          本文标题:Linux命令大全

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