在linux环境下工作快一年了,这里记录一下工作上常用的指令。
最常用的指令:
cd cp mv rm mkdir ls less more tail head cat ps top tar chmod > |
1 cd
cd 绝对路径/相对路径
要记得使用tab键补全路径
几个特殊参数:
指令 | 功能 |
---|---|
cd .. | 返回上一级目录 |
cd | 返回当前用户主目录 |
cd ~ | 同上 |
cd - | 返回进入当前目录之前的目录 |
2 ls
ls options [directory/file]
常用options选项:
options | 功能 |
---|---|
-a | 列出目录下所有文件 |
-A | 列出目录下所有文件,不包括.和.. |
-l | 列出文件所有的详细信息 |
-t | 按照最后修改时间排序文件 |
-S | 按照文件大小排序文件 |
-i | 显示文件inode号 |
-r | 逆序排序列出所有文件 |
-h | 按照容易理解的格式列出文件大小(K/M/G) |
最常用的参数组合:
ls -la、ls -l、ls -lh
这个指令使用非常频繁,一般会使用alias把上述常用组合重命名为更简短的指令,并将重命名指令写在.bashrc文件中:
alias ll=’ls -l’
alias lh=’ls -lh’
3 cp rm mv mkdir rmdir
指令 | 功能 |
---|---|
cp | 复制文件或者目录 |
rm | 删除文件或者目录 |
mv | 移动文件或目录/重命名文件或目录 |
mkdir | 创建新目录 |
rmdir | 删除空目录 |
对于cp和rm有一些特殊的参数
rm有如下几个参数可选:
参数 | 功能 |
---|---|
-f | 不给任何提示,直接删除 |
-r | 递归删除 |
-i | 交互式删除,会提示否是确认删除 |
使用rm -rf要特别注意,防止误删
cp有如下可选参数:
参数 | 功能 |
---|---|
-r | 递归赋值 |
-i | 覆盖前询问 |
-l | 链接文件,硬链接 |
-L | 跟随软链接,复制一个软连接时,复制的是软连接指向的原文件 |
-n | 不要覆盖已存在的文件,使-i失效 |
-P | 不跟随软链接,复制成为另外一个指向原文件的软连接 |
-p | 保持文件的属性(权限、模式、时间戳等) |
4 less more
查看文件内容,其中more指令只能往下翻页,less可以往上或者往下翻页。less还有其他一些常用快捷键功能:
快捷键 | 功能 |
---|---|
/str | 向下搜索字符串str |
?str | 向上搜索字符串str |
n | 重复前一个搜索 |
N | 反向重复前一个搜索 |
b | 向下翻一页 |
y | 向上翻一页 |
u | 向上翻半页 |
d | 向下翻半页 |
q | 退出less指令 |
值得一提的是使用less指令可以直接查看*.gz压缩文件的内容;同时less -N指令可以显示出行号
5 cat、zcat与>
cat filename #一次查看文件的所有内容
zcat filename.gz #查看gz压缩文件内容
可以使用-n参数显示行号
cat与>操作符配合使用:
cat file1 file2 > file #将file1和file2内容合并到file中
cat file1 >> file2 #将file1的内容追加到file2文件末尾
6 head与tail
head
显示文件开始的几行内容
head -n <行数> 显示指定的行数;
head -c <字节数> 显示指定的字节数例如
head -n 10 filename #显示前10行
head -c 10 filename #显示前10个字节
tail
参数 | 功能 |
---|---|
-f | 循环读取 |
-c num | 显示指定的字节数 |
-n num | 显示指定的行数 |
这里特别说明一下-f的用法(比较常用)
当某个文件的内容随着时间的变化在不断的增长时,比如日志文件等,我们可以使用-f参数实时查看文件增加的内容
7 top与ps
日常使用linux,不可避免的要经常查看系统中的进程的运行状态,这两个指令就是为了查看进程运行状态的:
ps #查看进程
top #动态的查看所有进程
接下来只列举上面两个指令中最常用的参数
ps
ps aux #显示所有并包含其他用户的进程
top
在进入top指令之后,几个快捷键
1. M #根据驻留内存大小进行排序
2. P #根据cpu使用百分比大小进行排序
3. T #根据时间/累计时间进行排序
8 tar打包指令
8.1 参数
参数 | 功能 |
---|---|
-c | 建立一个压缩文件 |
-x | 解压一个压缩文件 |
-t | 查看压缩文件里的文件 |
以上三个参数有且仅能出现一个,不可以同时使用
参数 | 功能 |
---|---|
-z | 使用gzip来压缩或者解压 |
-j | 使用bzip2来压缩或者解压 |
-v | 压缩过程中显示文件 |
-f | 使用文档名(特别注意) |
特别注意-f参数的使用,f参数后边一定要立马接压缩文档命,否则会出错
8.2 常用参数组合
打包并压缩
tar -cvf file.tar object1 object2 …
tar -zcvf file.tar.gz object1 object2 …
tar -jcvf file.tar.bz2 object1 object2 …
查看
tar -tvf file.tar
tar -ztvf file.tar.gz
tar -jtvf file.tar.bz2
解压缩
tar -xvf file.tar
tar -zxvf file.tar.gz
tar -jcvf file.tar.bz2
9 chmod
修改文件权限
标识符 | 含义 |
---|---|
u | 用户 |
g | 用户组 |
o | 其他 |
a | 上述所有 |
修改文件权限有一下三种方式
第一种:使用3位8进制权限码
$chmod 760 file
$ls -l file
-rwxrw—-1 test test 0 10月 29 17:16 file
上述指令解释:
设置所属用户读、写、可执行权限
设置组用户读写权限
设置其他用户无任何权限
权限码 | 权限 |
---|---|
4 | 读权限 |
2 | 写权限 |
1 | 执行权限 |
第二种:使用+ - 符号
$chmod u-x,o+r file
$ls -l file
-rw-rw-r–1 test test 0 10月 29 17:16 file
上述指令解释:
取消所属用户的可执行权限
设置其他用户可读权限
第三种:使用=重新分配权限
$chmod u=rw, g=rw, o=rw file
$ls -l file
-rw-rw-rw-1 test test 0 10月 29 17:16 file
上述指令解释:
设置所有用户读写权限
10 | 管道
可以将前一个指令的输出作为下一个指令的输入,例如:
$cat file
zs|sz|haha
sr|rs|hehe
123|234|345
$cat file | gawk -F”|” ‘{print $NF}’ | sort
345
haha
hehe
指令解释:
首先获取file中所有内容;
将文件内容输入gawk指令,gawk以”|”为分隔符分割输入内容的每一行,并将分割后的最后一个字符串输出到sort指令;
sort将gawk输出的数据作为输入,对其内容进行排序,将排序好的内容打印到终端。