一个懒散的博客

Linux命令大全


查询目录中的内容: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:垂直制表符
    nnn:按照八进制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 [用户名]:显示用户详细资料
赞(0)