命令的基本格式
[root@localhost~]
root为用户名(#
超级用户 $
普通用户) localhost主机名
命令的基本格式:
1 | 命令[选项][参数] |
查询目录的内容
命令格式:
1 | ls [选项][文件或目录] |
选项:
- -a 所有文件,包括隐藏文件。
- -l 查看详情,包含文件的确切大小,拥有该文件的人员,有权查看该文件,以及何时进行上次修改。
- -d 查看目录属性
- -h 显示文件大小
文件处理
- 建立目录
mkdir -p[目录名]
-p表示递归创建文件夹
- 切换目录
cd [目录]
简化操作:
1 | cd ~ 进入当前用户目录 |
- 删除目录
1 | rmdir [目录] 删除所有文件 |
- 复制目录
cp [选项] [原文件目录] [目标目录]
选项:
-r复制目录
-p连文件属性一起复制
-a 相当于-pdr
- 剪切、改名
mv [原文件目录] [目标文件目录]
1 | mv filename1 filename2 |
filename1
文件的源路径,filename2
是目标路径。
- 常见目录作用
1 | / 根目录 |
- 创建或更新文件
1 | touch filename |
cat
它可以在UNIX或Linux下用于以下目的。
- 在屏幕上显示文本文件
- 复制文本文件
- 合并文本文件
- 创建新的文本文件
1 | cat filename |
more
显示文件的第一部分(用空格移动并键入q以退出)。
1 | more filename |
head
输出文件的前10行。
1 | head filename |
tail
输出最后10行文件。用于-f在文件增长时输出附加数据。
1 | tail filename |
diff
比较文件,并列出他们的差异。
1 | diff filename1 filename2 |
lpr
打印文件。
1 | lpr filename |
文件搜索
- locate
locate [文件名]
在系统数据库中查找文件。新建的文件,要执行updatedb操作之后才能搜到。
- 命令搜索
whereis [选项] [命令名]
或者 which [选项][命令名]
选项:
-b 只查找可执行文件
-m 只查找帮助文件
说明:whereis
使用系统自动构建的数据库来搜索可执行文件,源文件和手册页面。
which
在环境变量PATH指定的目录中搜索可执行文件。此命令将打印可执行文件的完整路径。
- 文件搜索
find [搜索范围][选项][条件]
举例:
在根目录下查找名为install.log文件find / -name install.log
忽略大小写查找文件find /root -inname install.log
find /var/log -mtime +10
其中-mtime
文件修改时间
-atime
文件访问时间
-ctime
改变文件属性时间
+10
10天前
10
10天
-10
10天内
查找文件大于20M的文件find /etc -size +20M
文本操作
awk
awk 是处理文本文件最有用的命令。它一行一行地在整个文件上运行。默认情况下,它使用空格分隔字段。awk命令最常用的语法是:
1 | awk '/search_pattern/ { action_to_take_if_pattern_matches; }' file_to_parse |
以/etc/passwd
文件包含的示例数据为例:
1 | root:x:0:0:root:/root:/usr/bin/zsh |
现在从这个文件只获取用户名。 -F
指定要基于哪个分隔字段。在我们的例子中 { print $1 }
意味着打印出第一个匹配字段。
1 | awk -F':' '{ print $1 }' /etc/passwd |
运行上述命令后,将获得以下输出。
1 | root |
grep
查找文件内的文本。可以使用 grep 搜索与一个或多个正则表达式匹配的文本行,并仅输出匹配的行。
1 | grep pattern filename |
示例:
1 | $ grep admin /etc/passwd |
还可以通过使用-i
选项强制grep忽略单词大小写。-r
可用于搜索指定目录下的所有文件,例如:
1 | $ grep -r admin /etc/ |
-w
只搜索单词。
wc
统计一个文件中有多少行,多少单词和多少字符。
1 | wc filename |
示例:
1 | $ wc demo.txt |
7459
是行数, 15915
是单词数, 398400
是字符数.
sed
用于过滤和转换文本的流编辑器。
example.txt
文件内容如下:
1 | Hello This is a Test 1 2 3 4 |
用连字符替换所有空格
1 | sed 's/ /-/g' example.txt |
结果如下:
1 | Hello-This-is-a-Test-1-2-3-4 |
使用”d”替换所有的数字
1 | sed 's/[0-9]/d/g' example.txt |
结果如下:
1 | Hello This is a Test d d d d |
sort
排序文本文件的行
example.txt
文件内容如下:
1 | f |
排序example.txt
1 | sort example.txt |
结果如下:
1 | a |
随机化一个排序的example.txt
1 | sort example.txt | sort -R |
结果如下:
1 | b |
uniq
报告或省略重复的行
example.txt
文件内容如下:
1 | a |
只显示example.txt的唯一行(首先你需要排序,否则看不到重叠)
1 | sort example.txt | uniq |
结果如下:
1 | a |
显示每行的唯一项,并告诉我找到了多少个实例
1 | sort example.txt | uniq -c |
结果如下:
1 | 3 a |
cut
从每行文件中删除部分。
example.txt
文件内容如下:
1 | red riding hood went to the park to play |
显示第2,7和9栏的空格作为分隔符
1 | cut -d " " -f2,7,9 example.txt |
结果如下:
1 | riding park play |
echo
显示一行文字
显示 “Hello World”
1 | echo Hello World |
结果如下:
1 | Hello World |
用字母之间的换行显示 “Hello World”
1 | echo -ne "Hello\nWorld\n" |
结果如下:
1 | Hello |
fmt
简单的最佳文本格式化程序
example.txt
内容如下:
1 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. |
将example.txt的行输出为20个字符的宽度
1 | cat example.txt | fmt -w 20 |
tr
翻译或删除字符
example.txt
文件内容如下:
1 | Hello World Foo Bar Baz! |
把所有小写字母变成为大写
1 | cat example.txt | tr 'a-z' 'A-Z' |
结果如下:
1 | HELLO WORLD FOO BAR BAZ! |
把所有的空格变成换行符
1 | cat example.txt | tr ' ' '\n' |
结果如下:
1 | Hello |
nl
显示文件的行数
example.txt
内容如下:
1 | Lorem ipsum |
带行号显示 example.txt
1 | nl -s". " example.txt |
结果如下:
1 | 1. Lorem ipsum |
egrep
打印匹配模式的行 -
扩展表达式(别名为:grep -E
)
example.txt
文件内容如下:
1 | Lorem ipsum |
在其中显示“Lorem”或“dolor”的行
1 | egrep '(Lorem|dolor)' example.txt |
结果如下:
1 | Lorem ipsum |
fgrep
打印匹配模式到的行 -
FIXED模式匹配(别名为:grep -F
)
example.txt
文件内容如下:
1 | Lorem ipsum |
在example.txt中找到具体的字符串’(Lorem
|
doloar)’
1 | fgrep '(Lorem|dolor)' example.txt |
结果如下:
1 | foo (Lorem|dolor) |
压缩与解压缩
常见压缩格式:.zip 、 .gz 、 .bz2、 .tar.gz 、 .tar.bz2
- zip格式
压缩文件
zip [压缩文件名][原文件]
压缩目录
zip -r [压缩文件名][原文件]
举例:
1 | touch jp/cangls |
解压:
unzip [压缩文件名]
压缩为gz格式,原文件不保留
gzip [原文件]
- gz格式
压缩.gz格式,原文件保留
gzip -c 原文件 > 压缩文件
压缩目录:
gzip -r 目录
解压:
guzip [文件]
guzip -r [目录]
查看gzip压缩文件,而不需要gunzip它
1 | gzcat filename |
- tar
打包
tar -cvf 打包文件名 原文件
解压
tar -xvf jp.tar
- tar.gz
打包
tar -zcvf 压缩包名.tar.gz 原文件
解压tar -zxvf 压缩包名.tar.gz
关机、重启
shutdown [选项][时间]
选项:
-c 取消前一个关机命令
-h 关机
-r 重启
init 6 重启
init 0 关机
logout 退出登陆
查看用户信息
w
、who
、last
、lastlog
输出重定向
命令>文件
以覆盖的方式,把正确的命令输出到指定文件
命令>>文件
以追加的方式,把正确的命令输出到指定文件、
错误命令 2> 文件
以覆盖的方式把错误的命令覆盖到指定文件
错误命令 2>> 文件
以追加的方式把错误的命令覆盖到指定文件
命令>>文件 2>&1
同时追加正确命令和错误命令到 指定文件
命令 >>文件1 2>>文件2
把正确的命令输出到文件1错误的文件2
网络相关
- ifconfig查看ip
举个例子:
1 | ifconfig>> ip.log |
- 查看网络状态
netstat [选项]
选项:
-t: 列出tcp 协议端口
-u: 列出upd协议端口
-n ip地址个端口号
-l 列出监听状态的
-a 所有
- 查看路由列表
netstat -rn
或者 route -n
- 查看某域名与自己的电脑的网络状态
ping www.baidu.com
vi编辑器
vi的升级版是vim
- vim的操作模式
commond mode
命令模式
inser tmode
编辑模式
lastline mode
底行模式
- 模式切换
i
进入编辑模式
esc
进入命令行模式
- 命令模式
vim [文件]
进入文件或者创建文件(文件不存在的情况下)
vim + [文件名]
进入文件尾部
vim +/[字符串] [文件名]
光标定位到文件第一次出现该字符串的位置
- 底行模式
:w
保存
:q
退出
:!
强制
:15
定位的第15行
/[字符串]
光标位置向后搜索该字符串
?[字符串]
光标位置向前搜索该字符串
dd
删除光标所在行
ctr+f
向下翻页
ctr+b
向上翻页
常用操作快捷键
ctr+c
终止当前命令
ctr+l
清屏 相当于 clear
ctr+a
光标移到行首
ctr+e
光标移到行尾
ctr+u
把光标所在位置删除到行首
ctr+z
把命令放入后台
ctr+r
在历史命令中搜索