linux指令集

发布时间 2023-11-21 15:54:33作者: LPF0502

基础知识

  • ~家目录
  • #超级用户
  • $普通用户
通配符
* 匹配任意内容(即含有该内容的任意内容)

? 匹配任意一个字符

[] 匹配任意一个中括号内的字符
切换超级用户
sudo -s
如遇到拒绝访问,即'permission denied'时
通常是用户权限不足,应进入su用户
    e.g.向sysfs文件写入内容时,
        系统被挂载在/sys 下
或者可在指令前 + sudo

如果还是不可以,应ls -l看文件具体权限
更改用户的读写执行权限
命令格式
命令 [选项] [参数]    (绝大多数)
简化选项与完整选项
-a等于--all
PATH环境变量

定义的是系统搜索命令的路径

echo $PATH 即可看到路径
系统运行级别

init x 执行运行级别
runlevel 查询系统运行级别
运行 cat/etc/inittab后显示的
id:5:initdefault: 中的5即为目前默认系统运行级别

x=>
0关机
1.单用户
2.不完全用户,不含NFS服务
3.完全多用户
4.未分配
5.图形界面
6.重启

常用目录作用

根目录 下及 usr目录下 bin和sbin均保存系统命令
其中 bin是任何用户
     sbin是root用户

boot 启动目录
dev 特殊文件目录
etc 配置文件目录
home 普通用户
root 超级用户
lib 函数库保存位置

misc,media,mnt 用来挂载外接设备的目录

tmp 临时目录
sys,proc 内存挂载点(不可操作)
usr 系统资源保存目录(包含bin和sbin)
var系统相关文档目录

常用命令

  1. ls [选项]

    查看当前目录下文件

     -a 显示所有文件(包含隐藏)
     -l 显示详细信息
     -d 查看目录属性
     -h 人性化显示文件大小
     -i 显示inode(文件id)
    

    -rw-r--r--

     第一个-是文件类型:-文件 d目录 l软链接文件
     (类windows中快捷方式)
     rw-:所有者u
     r--:所属组g
     r--:其他人o
     字符代表:r读 w写 x执行
    

e.g. -rwxrw-r--. 1 root root 24772 1月14 18:18

    在这其中
       1. 第一部分即操作权限
       2. 操作权限后的.为ACL权限
       3. 第二部分的“1”为引用计数
       4. 首个root为所有者
       5. 第二个root为所属组
       6. “24772”为字节
       7. 1月14 18:18  为最后一次修改时间
    注:如果输入的是-lh则会显示为25k,而并非24772

文件处理

  1. mkdir -p [目录名]

    创建目录

     -p  递归创建 即 可创建内含二级目录的目录
    
  2. cd [目录]

     cd~ 回到家目录
     cd - 回到上次所在目录
     cd .. 回到上一级目录
     cd . 切换到当前目录
    

    相对路径:参照当前目录进行查找

    绝对路径:从根目录一级一级递归查找

    推荐使用绝对路径

    "Tab"键可补全目录,命令
    双击可显示全部

  3. pwd

    打印目录当前所在位置

  4. rmdir [目录名]

    删除空目录

     rm -rf 强制删除目录或文件
    

    rm -rf/ 为自毁,勿试

  5. cp [选项] [原文件或目录] [目标目录]/<文件名>

    复制命令

     -r 复制目录
     -p 连带属性复制
     -d 复制链接属性
     -a 相当于-pdr 即 目标文件与原文件完全相同,包括time
    
  6. mv [原文件或目录] [目标目录]

    剪切 或 改名(在同一目录下时改名)

  7. ln (-s) [原文件] [目标文件]

     -s 创建软连接
    
  • 硬链接和软链接的特征:

     > 硬链接【特征】:
     - 拥有相同的I节点和存储block块,可看作同一个文件。
     - 可通过I节点识别。
     - 不能跨分区。
     - 不能针对目录。
     > 软链接【特征】:
     - 类快捷方式。
     - 拥有自己的I节点和block块,无实际文件数据。
     (即与原文件I节点,block块不同)
    
  1. touch [选项]<文件名>

    创建新文件或更新时间戳.

     -c 如果文件不存在,不创建新文件。
     -d 指定时间与日期   YYYYMMDDhhmmss
     -f 忽略不存在文件(更新时间戳于当前)
    
  2. man [指令]

    可以人性化查看指令作用。

  3. > [file]

    可以重定向到文件(输出)

  4. < [file]

    可以重定向到文件(输入)

    同 《c primer plus》 一书中讲的重定向

  5. >> [file]

    像文件追加内容

  6. [file] | [file]

    将一个程序的输出与另一个程序的输入连接

  7. chmod [操作] <文件名>

    e.g. chmod u+rwx,g+ew,o+rw example.txt
    u:所有者
    g:所属组
    o:其他用户

文件搜索

  1. locate <文件名>

    在后台数据库中按文件名搜索,搜索速度更快。

    只可搜索文件名

     在/var/lib/mlocate(不一定是此路径) 中搜索数据
     可用loacte locate搜索查找数据库路径
     其并不是实时更新,一天一更新(updatedb强制更新数据库)
    

    搜索配置在/etc/updatedb.conf中

     PRUNE_BIND_MOUNTS=是否开启搜索限制
     PRUNEFS=不搜索的文件系统
     PRUNENAMES=不搜索的文件类型
     PRUNEPATHS=不搜索的路径
    
  2. whereis and which

    whereis [选项]

    搜索(系统)命令所在路径及帮助文档所在位置

     -b 只查找可执行文件
     -m 只查找帮助文件
    

    which <文件名>

    搜索命令所在路径及别名(全名)

     shell内置命令不可搜索
     e.g. cd命令不可搜索
    
  3. find [搜索范围] [选项]/[搜索条件]

    搜索(完全)匹配的文件名

    选项间可用a或者o并列

    a:and ...... o:or

     注意:
     1. 避免搜索范围太大,浪费系统资源
     2. find是搜索完全符合条件的文件名。否则使用通配符。
    

    选项较多,请注意

     [选项]
     -iname 不区分大小写
     -user 查找所有者搜索
     -nouser 查找没有所有者的文件
     -()time n 查找()时间文件    
     -size m 查找文件大小的文件
     -inum j 查找j节点文件
      -exec [命令] {}\ 可接在搜索后,表示将搜索结果执行[命令]
     
     time:
     1. mtime n 文件访问时间
     2. ctime n 改变文件属性
     3. mtime n 修改文件内容
    
     n = +n n天前
          n n天当天
         -n n天内
    
     m = +m 大于mB的文件  
          m 等于mB的文件
         -m 小于mB的文件
     m 要加单位 k小写,M大写
     默认不是字节单位,是数据块单位
    
  4. grep [选项] <"字符串"> <文件名>

    在文件当中(包含)匹配符合条件的字符串

     [选项]:
      -i 忽略大小写
      -v 排除指定字符串(取反)
    

帮助命令

  1. man [选项] [命令] = whatis

    manuel的缩写,获取指定操作的说明书(帮助)

     在进入manuel后,输入[字符]可跳转至第一个含此字符的行。
     man中有八(九)个级别
    
     [选项]
     -f 可获取并显示该命令操作级别
     -k 显示所有包含此关键字的命令
        相当于apropos [关键字] 
     -级别 可获取相应级别的说明书(类似说明书不同类型说明)
    
  2. 命令 --help

    获取命令选项帮助

shell内部命令帮助
  • help shell

    获得shell内部命令的帮助

详细命令帮助
  • info

    -回车 进入子帮助页面(带有*号标记)
    -u 进入上层页面
    -n 进入下一个帮助小节
    -p 进入上一个帮助小节
    -q 退出

压缩与解压缩命令

  • 常用压缩格式

    .zip
    .gz
    .bz2
    .tar.gz
    .tar.bz2

zip格式
  1. .zip <压缩文件名> <源文件>

    压缩文件

  2. .zip -r <压缩文件名> <源目录>

    压缩目录

  3. unzip <解压缩文件名(目录)>

    解压缩.zip格式

gz格式
  1. gzip <源文件>

    压缩为.gz格式的压缩文件,源文件会消失。

  2. gzip -c <源文件> > <压缩文件>

    压缩为.gz格式,源文件保留

    原理为重定向,并未gzip本身功能

  3. gzip -r <目录>

    压缩为.gz
    压缩目录下所有的子文件,但是不能压缩目录

  4. gzip -d <压缩文件名>

    解压缩文件

  5. gunzip <解压缩目录名>

    解压缩文件

  6. gunzip -r <解压缩目录名>

    解压缩文件夹内所有文件

bz2格式 (不可压缩目录
  1. bzip2 <源文件>

    压缩为.bz2格式,不保留源文件

  2. bzip2 -k <源文件>

    压缩之后保留源文件

  3. bzip2 -d <压缩文件名>

    解压缩,-k 保留压缩文件

  4. bunzip2 <压缩文件名>

    解压缩,-k 保留压缩文件

打包与解打包命令tar
  1. tar -cvf <打包文件名> <源文件>

     [选项]:
     -c 打包
     -t 测试,即只看不打包(把c换成t)
     -v 显示过程
     -f 指定打包后的文件名
    
  2. tar -xvf <打包文件名>

     [选项]:
     -x 解打包
    
tar.gz格式
  1. tar -zcvf (可选绝对路径) <压缩包名为.tar.gz> <源文件(多个之间加空格)>

     [选项]:
     -z 压缩为.tar.gz格式
    
  2. tar -zxvf <压缩包名>

     [选项]
     -x 解压缩.tar.gz格式
    
tar.bz2格式
  1. tar -jcvf (可选绝对路径) <压缩包名为.tar.bz2> <源文件(多个之间加空格)>

     [选项]:
     -z 压缩为.tar.bz2格式
    
  2. tar -jxvf <压缩包名>

     [选项]
     -x 解压缩.tar.bz2格式
    

关机和重启命令

  1. shutdown [选项] 时间

    在时间后加 &可让其放入后台
    只有此命令会在关机前自动保存

     -c 取消前一个关机命令
     -h 关机
     -r 重启
    
  2. 其他关机命令

     halt    
     poweroff    
     init 0
    
  3. 其他重启命令

     reboot 安全,也会自动保存
     init 6
    
退出登陆命令
  • logout

    必须正确退出