常用快捷键
- Ctrl + C 结束进程命令
- Ctrl + D 退出 == Exit
- Ctrl + L 清屏 == Clear
- Ctrl + A 光标移至最前端
- Ctrl + E 光标移至最后端
- Ctrl + U 删除光标左侧(前)所有字段(字符)
- Ctrl + K 删除光标右侧(后)所有字段(字符)
- Ctrl + R 利用关键字,搜索历史命令
命令
- ls --help 查看命令的帮助文档
- ls -a 以文件名显示所有文件
- ls -l 以列表显示所有文件,文件大小以字节单位
- ll 以上命令缩写
- ls -al 以列表显示所有文件
- ll -h 以列表显示所有文件,文件大小为K单位
- ll -d 以列表显示所有文件夹
- ll -t 按修改时间排序 倒序
- ll -S 按文件 Size(大小) 排序 从大到小
- ll -r 逆序排列 reverse
- ll -i 显示文件的 index(索引) 号
目录
- cd / 进入根目录
- cd … 返回上一层目录
- cd ~ 切换到用户主目录
- cd - 切换到上一个所在目录
- su root 切换至 root 用户
创建文件
- touch file.txt 当前目录创建 file.txt 文件
- touch file1 file2 同时创建 file1 file2 文件
- touch /home/files 在 home 目录下创建 files 文件
- touch /home/{file,file1} 在home目录下创建 file file1 文件
- touch file{1…5} 创建文件 file1 至 file5 的五个文件
- touch file{a…c} 创建文件 filea 至 filec 的三个文件
- touch file{a,b,c} 创建文件 filea、fileb、 filec 文件
创建文件夹(文件目录)
- mkdir dir1 创建 dir1 文件夹
- mkdir /home/dir1 /home/dir2 home 目录下创建 dir1 dir2 文件夹
- mkdir /home/{dir1,dir2} 效果同等以上命令
- mkdir -v /home/{dir1,dir2} 效果同等以上命令,但会打印创建过程
- mkdir -pv /home/22/33/{dir1,dir2} 33 目录下创建 dir1 dir2 文件,打印创建过程,并且逐层创建(如:22或者33这两个目录没有,会直接创建至最底层的dir1 dir2 文件为止。如果有则直接创建 dir1 dir2 文件,但不会再次创建 22 或者 33 文件目录)
复制文件
- cp -v 1.txt /home/dir1 把文件 1.txt 复制到 dir1 目录下
- cp -v 1.txt /home/dir1/2.txt 把文件 1.txt 复制到 dir1 目录下并且重命名为 2.txt
- cp -rv /etc /home/dir1 把 Etc 目录递归拷贝到 dir1 目录下
移动文件
- mv file1 /home/dir3 将 file1 移动到 dir3 里面
- mv file1 file11 将 file1 文件重命名为 file11
删除文件
- rm file1 删除文件 file1
- rm -r 递归删除
- rm -f 强制删除
- rm -rf etc 将文件夹强制递归删除
查看文件
- cat file.txt 查看 file.txt 文件内容
- more file.txt 查看内容,如超过一屏,可按 空格键 查看下一屏,按 回车 可查看下一行,按 Q 退出查看
- less file.txt 查看内容,如果超过一屏,可按下 pgUp pgDn 方向键上下两键翻页查看,按 Q 退出查看
- tail -10 /etc/file.txt 查看最后 **10 ** 行的内容
- tail -f /etc/file.txt 动态查看 file.txt 文件(实时监听文件内容),ctrl + C 结束查看
- head -10 /etc/file.txt 查看前 **10 ** 行的内容
文件、文件夹搜索
find 是根据文件的属性进行查找,如文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等
基本格式:find path expression / {
查找 路径 表达式}
- find / -name dir 在根目录下查找文件 dir , 表示在整个硬盘查找
- find /etc -name dir 在 etc 目录下查找文件 dir
- find /etc -name ‘※dir*’ 使用通配符 * (0或者任意多个),表示在 etc 目录下查找文件名中含有字符串 dir 的文件
- find . -name ‘dir*’ 表示当前目录下查找文件名开头是字符串 dir 的文件
- find / -amin -10 查找在系统中最后 10 分钟访问的文件(access time)
- find / atime -2 查找在系统中最后48小时访问的文件
- find / -empty 查找在系统中为空的文件或者文件夹
- find / -group cat 查找在系统中属于 group 为 cat 的文件
- find / -mmin -5 查找在系统中最后五分钟里修改过的文件(modify time)
- find / -mtime -1 查找在系统中最后24小时里修改过的文件
- find / -user fred 查找在系统中属于 fred 这个用户的文件
- find / =size +10000c 查找出大于10000000 字节的文件(c = 字节,w = 双字,k = kb,m = mb,g = gb)
- find / -size -1000k 查找出小于1000kb 的文件
!、-and(-a)、-or(-o) 混合查找方式 (非、并且、或者)
- find /tmp -size +10000c -and -mtime +2 在 tmp 目录下查找大于10000字节并且在最后2分钟内修改的文件
- find / -user fred -or -user george 在根目录下查找用户 fred 或者 george 的文件
- find /tmp ! -user panda 在 tmp 目录下查找所有不属于 panda 用户的文件
- find /dev -type f 在dev目录下查找类型文件
- find /dev -type d 在dev 目录下查找类型目录
- find /dev -type l 在dev 目录下查找类型链接
- find /dev -type b 在dev 目录下查找类型设备
- find /dev -type c 在dev 目录下查找类型 c 字符设备
- find /dev -type s 在dev 目录下查找类型 s 套接字
- find /dev -type p 在dev 目录下查找类型 p 管道文件
grep 是分局文件的内容进行查找,会对文件的每一行按照给定的模式(Patter)进行匹配查找
基本格式:grep expression / {
查找 表达式}
options 主要参数:
-c 只输出匹配行的字符个数
-i 不区分大小写
-h 查询多文件时不显示文件名
-l 查询多文件时只输入包含匹配字符的文件名
-n 显示匹配行及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行
pattern 正则表达式主要参数:
\ 忽略正则表达式中特殊字符的原有含义
^ 匹配正则表达式的开始行
$ 匹配正则表达式的结束行
\< 从匹配正则表达式的行开始
\> 到匹配正则表达式的行结束
[] 单个字符,如:[A] 即 A 符合要求
[-] 范围,如:[A-Z],即A/B/C 一直到 Z 都符合要求
. 所有的单个字符
* 有字符,长度可以为0
- grep ‘test’ d* 显示所有以 d 开头的文件 并包含 test 的行
- grep ‘test’ aa bb cc 显示在 aa/bb/cc 文件中包含 test 的行
- grep ‘[a-z][5]’ aa 显示所有每行字符串至少有 5 个连续小写字符的字符串行
- grep magic /dir/dic 显示 dir > dic 目录下的文件(不包含子目录)包含 magic 的行
- grep -w pattern files 只匹配整个单词,而不是字符串的一部分,如:匹配 ‘magic’ ,而不是 ‘magicd’
压缩
compress
命令:compress ./dir
-c 文件压缩之后定义的压缩文件(重定向压缩文件)
命令:compress -c ./dir > ./die.z
-v 显示压缩详情(过程)
命令:compress -v ./die
gzip
命令:gzip ./dir
-c 将压缩或解压的结果输出至标准输出(保留原有文件,另新增一个压缩文件)
命令:gzip -c ./dir > ./die.gz
-# 指定压缩比,值越大压缩比越大
bzip2
-k 保留原文件
-# 1-9压缩比,默认6
命令:bzip2 -k dir
xz
-k 保留原文件
-# 1-9压缩比,默认6
命令:xz -k dir
zip
-r
命令:zip -r die.zip dir
解压
uncompress
-d 解压,相当于uncompress
命令:compress -d die.z
unxz
-d 解压,相当于uncompress
命令:unxz die.xz = xz -d die.xz
文件归档工具 tar
- tar 命令位于 /bin 目录下,它能够将用户指定的文件或者目录打包成一个文件,但不做压缩。一般 linux 上常用的压缩方式是选用 tar 将许多文件打包成一个文件,再以 gzip 压缩命令压缩成 xxx.tar.gz(或者称为 xxx.tgz)的文件
- 常用参数
-c 创建一个新tar文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用 gzip 压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开 tar 文件
tar -tf mage.tar.xz 预览压缩包的文件列表
tar -rf nage.tar /path/1 往 tar 包中增加文件(注意只能对 tar 包增加文件,而不能对压缩包添加)
tar -cf mage.tar filename1 filename2 ..... 将多个文件打包至 mage.tar
tar -zcf mage.tar.gz filename1 filename2 ... 将多个文件打包并用 gzip 压缩为mage.tar.gz
tar -jcf mage.tar.bz2 filename1 filename2 ... ... 将多个文件打包并用 bzip2 压缩为mage.tar.bz2
tar -Jxf mage.tar.xz 解压xz的压缩包到当前目录
tar -zxf mage.tar.gz -C /tmp 解压gz的压缩包到 tmp 目录
tar -zvxf mage.tar.gz 解压gz的压缩包到当前目录并显示过程信息
用户管理
su 用户名 切换用户
useradd 用户名 添加一个用户
userdel 用户名 删除一个用户(不会删除home目录)
userdel -r 用户名 删除一个用户及 home 目录
usermid -l lisi zhangsan 修改用户(zhangsan 改成 lisi)