零、帮助性指令
1.man 遇到问题,找那个男人,man [指令]打开帮助手册,查找指令用法
一、目录与文件
1.pwd(print working directory)显示当前工作目录的绝对路径。
pwd
- cd (chang directory)改变当前工作目录
cd [绝对路径|相对路径]
cd .. 转到当前目录的上层目录
cd ~ 转到当前目录的家目录
cd ../../ 转到当前目录的上上层目录
3.ls(list)列出指定目录下的内容及其相关属性信息
ls [选项] [目录|文件]
-l 以长格式形式显示即显示详细信息
-a 显示所有文件或目录,包括隐藏文件
-i 显示文件索引信息,也就是文件的inode号
-d 列出目录
4.mkdir(make directories)创建目录
mkdir [选项] [目录]
mkdir a 创建一个目录
mkdir a b c d 创建多个目录
-m 指定所有用户对新建目录的权限
-p 强制创建多层目录 mkdir -p a/b/c
5.创建文件,编辑文件,查看文件
touch [选项][文件] 创建
cat > [文件] 写入
ctrl+c退出
或者使用vi编辑文件
cat [文件]或者more [文件] 检查文件是否创建成功
cat将[文件]或标准输入组合输出到标准输出。
cat 命令连接文件并打印到标准输出设备上,经常用来显示整个文件的内容。cat 只能查看文本内容的文件,如查看二进制文件,则屏幕会显示乱码。另外,cat 还可以用来创建文件、合并文件等。
6.cp(copy)复制文件或目录
cp 复制文件或目录到其他目录中
cp [选项] [源文件(可为多个文件)|目录] [目标文件|目录]
-r 递归复制(复制目录必须使用)
cp file1 file2 重命名
cp file1 /tmp/file2 复制file1
cp -r /tmp /home/hadoop 将tmp复制到hadoop
cp file1 file2 /tmp 复制file1 file2 到tmp
cp /root/file1 /tmp/file2 复制file1到tmp中并重命名file2
cp *.bak /tmp 复制当前目录下.bak结尾的文件到tmp
7.mv(move)移动文件或重命名文件
mv [选项][源文件|目录] [目标文件|目录]
mv /tmp/pic /tmp/pic2 文件pic重命名
8.rm(remove)删除文件或目录
rm [选项][文件|目录]
-r 递归删除,可删除目录下的文件或目录
-f 删除文件是不提醒而强制删除
rmdir 目录名 (该指令只能删除空目录)
9.echo输出
echo输出后光标换行(即下一句输出语句换行)
echo -n "..."不换行输出
echo -e "...特殊字符"
\c 最后不加上换行符号
\f 换行但光标仍旧停留在原来的位置
\n 换行且光标移至行首
\r 光标移至行首,但不换行
\t 插入tab
\v 与\f相同
\\ 插入\字符
10.printf输出
printf输出后光标不换行(即下一句输出语句不换行),且printf输出时,字符串要用“”否则遇到空格停止输出
printf "%-10s %-8s %-4.2f\n" 武松 男 38.6543 输出:武松 男 38.65
%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来
%-4.2f 指格式化为小数,其中.2指保留2位小数。
\n 输出换行
11.“” ‘’ 和``
"" 全部输出,转义字符,变量,脚本均可输出
'' 保留原样输出,转义字符,变量,脚本只输出字符串,并不实现功能
``可以实现程序,实现功能 比如`date`
二、文件权限及内容显示
1.chmod(change the permissions mode of a file)改变文件或目录权限
文件拥有者(user),同组用户(group),其他用户(other)
读®写(w)执行(x)
①采用权限字母和操作符表达式
chmod[who][+|-|=][mode]文件名
②数值设定法
2.cat 查看文件,在屏幕上显示文件
cat [选项] 文件名
-n 显示行号
-A 显示文件中所有字符,包括隐藏字符
3.more 分页显示文件内容
more 文件名
读完文件再显示
按空格往前翻页
ctrl+f往前翻页
ctrl+b往后翻页
q退出
4.less 分页显示文件内容
边读边显示,启动快,命令同move,less是move的扩展
5.tail
tail [-n number] file
-n+数字,代表显示文件几行
tail -n 15 test 查看test文件末尾15行
tail test 默认输出末尾10行
三、通配符与管道
通配符:用符号来匹配一个或多个字符
?代表任何单一字符
*代表任何字符
[字符]在中括号中的字符都符合
[!字符]括号中的都不符合
rm *.bak 删除当前目录.bak结尾的文件
rm *4*.bak 删除当前目录文件名中包含字符4且以.bak结尾的文件
rm *.???? 删除当前目录下扩展名为4个字符的文件
rm [abc]*.txt 删除当前目录下以a,b,c开头的txt文件
rm [0-9]*.?? 删除当前目录数字开头的扩展名两个字符的文件
管道:用"|"标识
连接两个命令,将前一个命令的输出结果作为后一个命令的输入
[命令1]|[命令2]|[命令3] 命令1的输出作为命令2的输入,命令2的输出作为命令3的输入
ls /etc | more 查看/etc目录下的文件将结果分页显示
dpkg -l | grep a |more 查看系统已安装软件中包含字符a的所有软件,输出结果分页显示
四、数据流重定向
数据流:一组有顺序的有起点和终点的字节集合。
说明 设备文件 文件描述符
标准输入(stdin) /dev/stdin 0
标准输出(stdout) /dev/stdout 1
标准错误输出(stderr) /dev/stderr 2
数据流重定向:改变数据传输道路,输出和输入重定向
输出重定向:将原本要输出到显示器上的信息输出到文件
命令>文件 把命令的正确结果覆盖输出到指定文件
命令>>文件 把命令的正确结果以追加方式输出到指定文件
命令2>文件 把命令的错误结果覆盖输出到指定文件
命令2>>文件 把命令的错误结果以追加方式输出到指定文件
命令>文件 2>&1 把命令的正确和错误结果覆盖输出到同一文件
命令&>文件 把命令的正确和错误结果覆盖输出到同一文件
命令>>文件 2>&1 把命令的正确和错误结果追加输出到同一文件
命令&>>文件 把命令的正确和错误结果追加输出到同一文件
注:2前一定要接空格,2后无空格
输入重定向:将从键盘输入的内容改为文件输入
wc: 统计用户从键盘输入字符所占行数,单词数,字节数
wc [选项][文件名]
-l 统计行数
-w 统计单词数
-c 统计字节数
五、文本处理
1.sort文本排序
sort [选项] 文件名
将文件中的文本默认按字典序从小到大排序并显示结果(并不对文件本身产生影响)
-n 按数值大小排序
-u 排序后相同的行只保留一行
-r 按逆序输出排序结果
2.uniq文本去重
uniq [选项] 文件名 将**排序后**文件内的重复行数据从输出文件中删除
-d 只显示重复行
-u 只显示不重复行
-c 在每行前面加上相应行出现的次数
3.文本查找
grep [选项][字符串]文件名 查找文件里符合条件的字符串
-c 只显示匹配的行数
-l 忽略字母大小写
-n 输出时加行号
-v 反转查找(查找不含。。。)
4.文本剪切
cut -f List(选取的列) -d Character(分隔符) 文件 从文件每行中选出指定的字节,字符或字段
-f 获取被定界符隔开后指定的字段列表 field
-d 指定分隔字符 delimeter
5.文件比较
diff [选项] 文件1 文件2 显示出两个文件中不同的行,不要求排序,如果是目录,只比较同名文件,不比较其中的子目录
-c 以context模式显示结果
-y 并列方式显示文件异同
-w 与-y一起用,指定列宽
六、文件查找
1.find 在硬盘上查找文件或目录
find 目录 寻找条件(文件名称,属性,修改名称) 操作
find /etc -name *.conf 在/ect目录下查找conf结尾的文件
find . -user root 查找当前目录下属于root用户的文件和目录
find . -ctime -2 查找当前目录及其子目录下所有最近两天内更新过的文件
2.locate 后台数据库中按文件名搜索,速度比find快,数据库默认一天更新一次,搜索新文件需先用root登录update更新数据库
locate -n(显示查找结果的个数) N 文件名
3.whereis 根据文件名查找指定文件位置
whereis [选项] 文件名
-b 只查找二进制文件
-m 只查找说明文件
-s 只查找源代码文件
七、压缩备份
1.gzip将文件进行压缩和解压缩,压缩后自动在文件名后加上.gz,默认不保留文件
gzip [选项] 文件名
-c 将输出写到标准输出上,并保留源文件
-d 将压缩文件解压
-r 递归查找指定目录并压缩,解压缩
2.bzip2对目录和文件进行压缩或解压缩,压缩文件默认扩展名bz2
bzip2 [选项] 文件名
-d 解压缩选项
-v 显示压缩或解压缩的过程
-f 当文件重名时进行覆盖
gzip和bzip2,对目录中每一个文件分别压缩,得到多个文件
3.tar包
将多个文件或目录打包成一个文件
tar [选项] 文件或目录名
-z 用gzip命令进行压缩或解压缩
-j 用bizp2进行压缩或解压缩
-C 指定解压缩目录
-c 创建新备份文件,备份目录或文件必选
-f 对普通文件进行操作,通常必选
-r 向备份档文件追加文件
-x 从备份档文件中解出文件
-t 列出备份文档中所含的文件
-v 列出出来过程中详细信息