Linux常用命令
大约 8 分钟LinuxLinux
文件和目录操作命令
tree(以树形结构展示目录下的内容)
作用:以树形结构展示目录下的内容
参数:
选项 -a 显示所有文件,包括隐藏文件 -d 只显示目录 -f 显示每个文件的全路径 -i 不显示树枝,需要与-f参数配合使用 -L 遍历目录的最大层数 示例:
## 安装tree命令 yum -y install tree ## 以树形结构显示目录下的所有内容 tree -a
mkdir(创建目录)
作用:创建目录
参数:
选项 说明 -p 递归创建目录 -m 创建目录的默认权限 -v 显示目录创建过程 示例:
## 递归创建目录 mkdir -p /data/11 ## 创建目录给与权限 mkdir -m 333 /data2 ## 创建多个目录及子目录 mkdir -pv o1dboy/{dirl_1,dir1_2}/{dir2_1,dir2}
ls(列出目录的内容)
作用:list,列出目录的内容
参数:
选项 -l 使用长格式列出文件及目录信息 * -a 显示目录下所有文件,包括隐藏文件 -t 根据修改时间排序,默认是文件名 -i 不显示树枝,需要与-f参数配合使用 -r 依相反次序排序 -d 当遇到目录时,列出目录本身而非目录内的文件,并且不跟随符号连接 -h 以人类可读的信息展示文件或目录大小 -R 递归列出所有子目录 示例:
## 显示所有文件 ls -a ## 显示完整时间 ls -l --time-style=long-iso
cp(复制文件)
作用:cp命令以及后面的选项和文件
参数:
选项 -p 复制文件保持源文件的持有者、权限信息及时间属性 -d 如果复制的源文件是符号链接,那么仅复制符号链接本身。而且保留符号链接所指向的目标文件或目录 -r 递归复制目录 -a 等同于上面的p、d、r这三个选项功能的综合 -i 覆盖已有文件前提示用户确认 示例:
## 使用-a参数复制file1.txt为file2 cp -a file1.txt file2.txt ## 以树形结构显示目录下的所有内容 tree -a
cp覆盖文件之前不提示是否覆盖的几种方法
使用命令全路径
## 查看cp的系统别名 which cp ## 使用绝对路径cp就可以屏蔽 /usr/bin/cp a b
命令开头使用反斜线(\)
\cp a b
取消cp的别名,但重启系统时效
## 取消设置别名 unalias cp
mv(移动或重命名文件)
作用:移动或重命名文件
参数:
选项 -f 若目标文件已经存在,则直接覆盖 -i 若目标文件已经存在,则会询问是否覆盖 -n 不覆盖已经存在的文件 示例:
## 将a文件命名为b mv a b ## 移动目录,若dir5不存在,将目录dir1重命名为dir5 mv dir1 dir5
文件过滤及内容编辑处理命令
cat(合并文件或查看文件内容)
作用:移动或重命名文件
常用功能
- 查看文件内容
- 把多个文件合并成一个 cat file1.txt file2.txt > newfile.txt
- 创建编辑新文件
- 非交互式的编辑或追加内容到文件尾部
- 清空文件内容(cat /dev/null > file.txt)
参数:
选项 -n 输出行号 -b 和-n相似,但会忽略空白行 -s 当遇到有两行以上的空白行时,替换为一行 示例:
cat > test.txt <<EOF Q QQQ QQQ EOF #<=这里要按回车才能结束,另外,E0F必须成对出现,但也可以用 别的成对标签来替换。例 如:o1boy字符标签,默认情况下,结尾的E0F必须要顶格写。 cat test.txt
more(分页显示文件内容)
作用:分页显示文件内容
参数:
选项 -num 指定屏幕显示大小为num行 +num 从行号的num开始显示 -s 把连续的多个空行显示为一行 在交互模式下,使用more命令打开文本之后,会进入一个基于vi的交互界面,可以使用部分vi编辑器的功能,常见命令如下
空格键 向下滚动一屏 b 返回上一屏 /查找的文本 查找指定的文本 示例:
## 不传递参数,满屏显示文件内容 more test.txt ## 显示5行 more -5 test.txt ## 从第五行开始显示 more +5 test.txt
less(分页显示文件内容)
作用:移动或重命名文件
参数:
选项 -n 显示指定的行数 -q 不显示包含给定文件名的文件头 -v 总是显示包含给定文件名的文件夹 示例:
## 不接受任何参数时,默认显示文件的前10行 head test.txt ## 显示文件前5行 head -n 5 test.txt
head(显示文件头部内容)
作用:显示文件头部内容,默认输出文件开头十行
参数:
选项 -f 若目标文件已经存在,则直接覆盖 -i 若目标文件已经存在,则会询问是否覆盖 -n 不覆盖已经存在的文件 示例:
## 将a文件命名为b mv a b ## 移动目录,若dir5不存在,将目录dir1重命名为dir5 mv dir1 dir5
tail(显示文件内容尾部)
作用:显示文件内容尾部,默认输出文件的最后10行
参数:
选项 -n 显示指定的行数 -f 实时输出文件变化后追加的数据 示例:
## 默认显示最后10行 tail test.txt ## 显示文件末尾5行的内容 tail -n 5 test.txt ## 实时监控test.txt文件变化 tail -f test.txt
tailf(跟踪日志文件)
作用:tailf命令几乎等同于tail-f,与tail-f不同的是,如果文件不增长,那么它不会去访问磁盘文件,也不会更改文件的访问时间。
参数:
选项 -n 指定显示的行数,默认显示最后10行 示例:
## 默认显示最后10行文件 tailf test.txt
cut(从文本中提取一段文字并输出)
作用:cut命令从文件的每一行剪切字节、字符或字段,并将这些字节、字符输出
参数:
选项 -d 自定义分隔符,默认以tab为分隔符 -f 与选项-d一起使用,指定显示哪个区域 N 第N个字节、字符或字段 N- 从第N个字节、字符或字段开始直至行尾 N-M 从第N到第M个字节、字符或字段 -M 从第1到第M个字节、字符或字段 -c 以字符为单位进行分割 -n 取消分割多字节字符,与选项-b一起使用 示例:
## 输出第3-5个字节和第10个字节 cut -b 3-5,10 oldboy.txt ## 表示从第三个字节到行尾 cut -b 3- oldboy.txt ## 输出第三个到5个字符 cut -c 3-5 oldboy.txt ## -d指定以:作为分隔符 -f 1指定显示第一个区域 cut -d : -f 1 test.txt
vim(纯文本编辑器)
作用:vim分为三种模式:普通模式、编辑模式、命令模式
- 普通模式:用vim命令打开一个文件,默认的状态就是普通模式。在这个模式中,不能进行编辑输入操作。
- 编辑模式:按i进去编辑模式
- 命令模式:输入": / ?"时,光标会自动定位在那一行,可以执行保存、退出、搜索。
参数:
示例:
## 将a文件命名为b mv a b ## 移动目录,若dir5不存在,将目录dir1重命名为dir5 mv dir1 dir5
文本处理
grep(文本过滤命令)
作用:文本过滤命令
参数:
选项 -n 显示匹配行及行号 -i 不区分大小写,默认是区分大小写的 -c 只匹配统计的行数 -w 只匹配过滤的单词 -o 只输出匹配的内容 示例:
## 过滤不包含test字符串的行 grep -v "test" test.txt ## 输出包含test的字符串,并显示行号 grep -n "test" test.txt ## -i不区分大小写 grep -i "test" test.txt
sed(字符流编辑器)
作用:字符流编辑器
参数:
选项 -n 取消默认的sed输出,常与sed内置命令p连用 -i 直接修改文件内容,不输出到终端 内置命令
命令字符 解释 a 全拼append,标识追加文本,在指定行后追加文本 d 全拼delete,标识匹配行的文本 i 全拼append,标识追加文本,在指定行前追加文本 p 全拼print,表示打印匹配行的内容,通常p会与选项-n一起使用 s/regexp/replacement/ 匹配regexp部分的内容,用replacement替换regexp匹配的内容,regexp部分可以使用正则表达式,在replacement部分可以使用特殊字符&和l-9等匹配regexp部分的部分内容。在实战场景中,s/regexp/replacement/g结尾常与g匹配做全局的替换 示例:
## 生成测试文件 cat >persons.txt<<EOF 101,o1dboy,CEO 102,zhangyao,CTO 103,A1ex,C00 104,yy,CF0 105,feixue,CIO EOF ## 在第2行后面追加指定内容 sed '2a 106,yl,CTO' persons.txt ## 在第2行前面追加指定内容 sed '2i 106,yl11,CTO' persons.txt ## 删除第二行数据 sed '2d' persons.txt ## 删除指定多行 sed '2,5d' persons.txt
mv(移动或重命名文件)
作用:移动或重命名文件
参数:
选项 -f 若目标文件已经存在,则直接覆盖 -i 若目标文件已经存在,则会询问是否覆盖 -n 不覆盖已经存在的文件 示例:
## 将a文件命名为b mv a b ## 移动目录,若dir5不存在,将目录dir1重命名为dir5 mv dir1 dir5
查看CPU相关信息
查看cpu架构
uname -a
查看cpu厂家信息
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看cpu个数
cat /proc/cpuinfo | grep physical | uniq -c
查看cpu核心数
cat /proc/cpuinfo | grep "cpu cores" | uniq
查看服务器总核心数
cat /proc/cpuinfo | grep "processor" | wc -l