linux常用命令

权限介绍

Linux中的权限一般由十个字符表示,如drwxr-xr--;其中第一个字符表示文件类型,-文件 d目录 I软链接文件;后边的9个字符3个为一组,三组分别表示user/group/other,每组包含rwx-之一,r读 w写 x执行

文件及目录管理
  1. ls
    选项:
    -a 显示所有文件,包含隐藏文件;
    -d 仅显示目录名
    -h 人性化显示文件大小,以kb或Mb显示大小而不是字节;
    -i 显示文件索引节点(inode),一个索引节点代表一个文件
    -l 显示长格式列表;(包含文件权限、引用计数、用户名、组名、大小、最后修改时间等)
    -t 用文件和目录的更改时间排序

  2. cd

    命令含义
    cd进入用户主目录
    cd ~进入用户主目录
    cd -进入用户上次打开的目录
    cd /进入根目录
    cd …进入上级目录
  3. pwd
    以绝对路径方式显示当前目录的全路径名称

  4. mkdir
    创建目录,选项
    -p/–parents 上层目录未创建则会一并创建上层目录

  5. rmdir
    移除目录,选项
    -p/–parents 删除指定目录后若上层目录也变为空目录,则将其一并删除;

  6. rm
    删除一个或多个文件或目录;使用该命令需要注意,文件一旦被被删除则无法被恢复;
    选项:

    命令含义
    -r递归处理目录及子目录
    -f强制删除文件及目录
    -i删除已有文件或目录前先询问用户
  7. touch
    用于创建新的空文件或者更新已存在文件的时间标签到系统当前时间
    在这里插入图片描述

  8. cp
    文件或目录的复制;
    选项:

    命令含义
    -r递归,将该目录下的文件及子目录一并处理
    -p将文件或目录的属性一并复制
    -d若源文件是链接文件,则复制链接属性
    -a等同于-dpr

    demo:

    # 仅复制文件
    copy test1/file test2/
    
    # 复制文件并修改文件名
    copy test1/file test2/file2
    
    # 复制目录
    copy -r test1/ test2/
    
  9. mv
    文件或目录的移动/改名
    选项:
    -b 文件存在时,复制前先备份
    -f 目标文件或目录存在时直接进行覆盖
    -i 存在同名文件或目录时先询问是否覆盖,y表示覆盖,n表示取消移动
    demo:

    # 重命名
    mv test1 dir
    # 移动文件
    mv -i file dir/file
    
  10. 硬链接特点

    1. 共享相同的inode和block存储块,可以视为同一文件(inode是文件唯一标识);
    2. 仅针对文件
    3. 不能跨分区(单个文件系统中的inode是唯一的,不同分区可能存在相同的inode)
    4. 删除其中一个硬链接文件不影响其他具有相同inode的文件;
  11. 软链接
    相比于硬链接,软链接索引区拥有自己的inode及block存储块,但是其block中存储的数据为源文件的路径名指向;链接文件甚至可以不存在(断链);
    特点:

    1. 拥有自己的inode及block,但数据块并未保存实际的文件数据;
    2. 类似windows快捷方式,任意文件的修改,另一个都会改变;
    3. 可以是目录或者文件;
    4. 删除源文件则软链接不可使用;
    5. 软链接文件权限均为lrwxrwxrwx
      测试发现需要使用绝对路径,新创建的软链接文件才生效


      下图体现了软链接与硬链接的区别;
      在这里插入图片描述
      软链接创建实例: 在这里插入图片描述
文件搜索
  1. locate
    locate的搜索速度比find快很多;find是将根目录下的所有文件遍历寻找,而locate是通过查找Ubuntu中数据库/var/lib/mlocate/mlocate.db;该数据库由Linux自动创建并自动更新和维护(并非实时更新,一般一天一次),包含了本地的所有文件信息;由于该数据库的更新频率并不是很高,因此如果查找不到结果,可以使用命令updatedb更新数据库后再次进行查找。

    当然,locate功能有限,仅可以通过文件名进行搜索;

    locate搜索配置文件位置是/etc/updatedb.conf,里边规定了里边是否开启搜索限制、不包含某些后缀的文件、不在某些路径内进行搜索、不搜索某些文件系统等;
    在这里插入图片描述

    locate -i 忽略大小写查找
    
  2. find
    完全匹配的查找命令
    命令:find [搜索范围] [搜索条件]
    选项

    命令含义示例
    -name文件名符合name的文件或目录find /home/neil/ -name “*.soft”
    -iname同上,但是区分大小写
    -atime文件最近一次访问时间,如通过cat等命令访问文件时
    -mtime文件内容最近一次修改时间find /home/neil/ -mtime 3(3天前的当天)
    find /home/neil/ -mtime -3(3天内的修改)
    find /home/neil/ -mtime +10(3天之前的修改)
    -ctime文件元数据最近一次修改时间,如权限、所有者等信息变动时,不会影响mtime
    如下图2可以发现修改文件权限后ctime改变,而atime和mtime未受影响
    -empty查询空的文件或目录find /home/neil/test/ -empty
    -type根据文件类型进行查找
    类型参数f-普通文件、l符号链接、d目录、c字符设备、b块设备、s套接字
    find /home/neil/ -type l
    -nouser找出不属于主机用户的文件或目录find /home/ -nouser
    -size找出满足条件大小的文件find /home/neil 20k(找出大小为20k的文件)
    find /home/neil +2M(找出大小大于2M的文件)
    find /home/neil -2M(找出大小小于2M的文件)
    -inum根据inode值查找文件名
    -a逻辑与
    具体见下图3
    -o逻辑或find /home/neil/ -name “.soft" -o -name ".hard”
    -exec将前边命令的执行结果交给第二个命令进行处理find /home/neil/ -size +10k -exec rm -rf {} ;
    具体见下图3

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

  3. grep
    以正则匹配的方式查找符合条件的文件中的字符串,是包含匹配
    grep [选项] [目标字符串] [目标文件]
    选项

    命令含义示例
    -a不忽略二进制类型数据
    -c计算符合条件的行数grep -c “hello” newfile
    -v反转查找,即查找不包含某字符串的内容行
    -i忽略大小写
    -n在打印满足条件的记录前给出该记录的行号

    在这里插入图片描述

  4. whereis && which
    指令查找命令
    whereis返回指令的二进制程序、源代码文件及手动分页文件的位置;which同locate一样是通过指定数据库进行查找的,因此查找速度比find快;
    which返回指令的位置;可以判断某个系统指令是否存在;which指令会在环境变量$PATH设置的目录里查找符合条件的文件
    whereis选项:
    -b:仅查找二进制程序;
    -m:仅查找说明文件;
    -s:仅查找源代码文件;
    在这里插入图片描述

压缩与解压缩
  1. 常见压缩格式:.zip.gz.bz2.tar.gztar.bz2等;

  2. zip
    命令格式:zip 压缩文件名 源文件或目录(绝对路径)
    选项

    命令含义示例
    -文件压缩zip file.zip file1
    -d从压缩文件删除指定文件zip -d dir.zip /home/neil/test1/file2
    -r递归操作,压缩指定子文件夹及文件zip -r dir.zip /home/neil/test1/

    在这里插入图片描述

  3. unzip
    命令格式:zip 压缩文件名 源文件或目录(绝对路径)
    选项

    命令含义示例
    -c以字符形式将解压缩结果输出到屏幕并做一定的字符转换unzip -c dir.zip
    -l查看压缩文件内包含的文件或目录unzip -l dir.zip
    -v查看压缩文件的目录信息但不解压缩unzip -v dir.zip

    在这里插入图片描述

  4. gzip
    命令:gzip [源文件]
    特点:默认会将源文件直接压缩,即源文件不保留
    选项

    命令含义示例
    -c保留原文件,并将压缩结果输出到标准输出设备gzip -c file.zip
    -d将压缩文件解压,不保留压缩文件unzip -d file.zip newfile.zip
    -r递归压缩该目录下及子目录下的文件为单独的压缩文件,不压缩目录unzip -r dir.zip
    -v查看压缩文件的目录信息但不解压缩unzip -v dir.zip
  5. bzip2
    命令:bzip2 [选项] [源文件]
    同gzip类似,bzip2压缩后不保留源文件,不能压缩目录
    选项

    命令含义示例
    -d将压缩文件解压
    -k保留源文件
    -t检测压缩文件完整性
    -v压缩或解压缩时显示详细信息

    在这里插入图片描述

  6. bunzip2
    命令:bunzip2 [选项] [源文件]
    不保留源文件
    选项

    命令含义示例
    -k保留源文件bunzip2 -k file.bz2
    -v解压缩时显示详细信息bunzip2 -v file.bz2
  7. tar
    tar命令用于备份文件;该命令可以将多个文件和目录打包为一个大的文件;上边提到的gzipbzip2命令由于对目录打包的支持程度非常有限,因此linux中可以通过tar命令将多个文件和目录打包为一个大的文件,然后再使用压缩命令进行压缩;
    选项

    命令含义示例
    -c建立新的备份文件(打包)tar -cvf file.tar file
    -C指定解压缩文件的目标目录tar -jcvf file.tar.bz2 -C /home/neil/test2
    -f指定备份文件(指定打包后文件名)
    -j通过bzip2处理备份文件tar -jcvf file.tar.bz2 file #将file打包和压缩为file.tar.bz2
    tar -jxvf file.tar.bz2#将file.tar.bz2解压缩和解打包为file
    -k保留原有文件不被覆盖
    -t、–list列出备份文件的内容
    -r添加文件到已压缩的文件
    -v显示操作过程
    -x从备份文件还原文件(解打包)tar -xvf file.tar
    -z通过gzip处理备份文件tar -zcvf file.tar.gz file #将file文件直接打包和压缩为file.tar.gz
关机与重启
  1. shutdown
    命令:shutdown [-t seconds] [-rkncfF] time [message]
    选项
    命令含义示例
    -t seconds设置多少秒后关机
    -r重启,其他重启命令rebootinit 6,init表示系统运行级别,可以通过runlevel查看当前运行级别shutdown -r now
    init6
    reboot
    -h关机后停机shutdown -h now
    -k不关机,仅将警告信息传递给所有使用者
    -n强制杀掉所有进程后自动关机
    -c取消当前已进行的关机动作
    -f重启时不执行fsck(fsck命令用于检查并尝试修复文件系统中的错误)
    -F重启时执行fsck
    message给所有使用者的警告讯息shutdown +5 “System will shutdown after 5 minutes”
    time关机时间shutdown +5 #5分钟后关机
    shutdown now

磁盘管理
  1. mkdir
    创建目录
  2. 加粗样式
    rmdir dirName 删除空目录
    rmdir -p dirName 删除子目录后父级目录也变成空目录后将其一并删除
  3. pwd
    显示当前工作目录(print working directory)
  4. stat
    显示文件的状态信息,包括size、inode、访问时间、修改时间等信息
    在这里插入图片描述
  5. tree
    以树状结构列出目录下的所有文件及子目录的文件
    在这里插入图片描述
  6. mount
    加载文件系统到指定的挂载点
    命令:mount [-fnrsvw] [-t vfstype] [-o options] device dir
    选项
    命令含义示例
    -查询系统中已经挂载的设备mount
    -a将文件/etc/fstab中定义的所有文件系统挂载到系统上
    -exec/noexec是否允许在文件系统内执行可执行文件,默认是exec文件mount -o remount,noexec /home
    -o ro以只读方式挂载
    -o rw以可读写方式挂载
    -o remount将已挂载的文件系统重新挂载,可用于修改特殊权限
    -v显示辅助信息
    -t指定文件系统类型
    -v显示辅助信息
    -光盘挂载mount -t iso9660 /dev/sr0 /mnt/cdrom/
    -光盘卸载umount /mnt/cdrom/
    -光盘卸载umount /mnt/cdrom/
系统管理
  1. w
    显示当前登入系统的用户信息
    选项

    命令含义示例
    -f开启或关闭显示用户登录来源w -f
    -h不显示每列的标头w -h
    -l默认值,显示详细信息w -l
    -s简洁格式列表w -s
  2. who
    显示登录用户的简单信息
    在这里插入图片描述

  3. last
    显示所有用户的最近登录信息
    选项

    命令含义示例
    -R省略hostnamelast -R
    -n展示最近的n条登录信息last -5
    username仅展示该用户的登录信息last neil
  4. lastlog
    显示系统中所有用户的最近一次登录时间

  5. uname
    显示系统信息
    选项

    命令含义示例
    -a显示全部信息uname -a
    -m显示电脑类型uname -m
    -n显示网络主机名称uname -n

6.sleep
命令:sleep number [smhd]
示例:date; sleep 5s; date #输出时间信息5s后再次输出时间;

快捷键
按键含义
ctrl + l清屏
ctrl + a光标移至命令行首
ctrl + e光标移至命令行尾
ctrl + u从光标位置删除至行首
ctrl + k从光标位置删除至行尾
ctrl + r从历史命令中搜索命令
ctrl + Left / Right光标以单词为单位左右跳转
历史命令调用
命令含义
上下箭头切换切换至上/下一个命令
!!执行上一条命令
!n执行第n条命令
!str执行最近一条以str字符串开头的命令

在这里插入图片描述

实用命令收集
命令含义
nautilus .打开终端所在的文件夹
!!执行上一条命令
!n执行第n条命令
!str执行最近一条以str字符串开头的命令
参考文献
  1. http://man.linuxde.net/
  2. https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neil-

你们的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值