Linux学习笔记
一、命令的基本语法格式
命令名称 [选项] [目录或者文件]
例如:查看当前目录下的所有文件 ls -a
二、常用命令
**命令格式:**命令 [-选项] [参数]
如:ls -la /usr
大部分命令遵从该格式
多个选项时,可以一起写 eg:ls –l –a 可以写成: ls –la
简化选项与完整选项(注:并非所有选项都可使用完整选项)
1、帮助命令
1.man
man [命令或者配置文件] (功能描述:获得帮助信息)
显示说明:
信息 | 功能 |
---|---|
NAME | 命令的名称和单行描述 |
SYNOPSIS | 怎样使用命令 |
DESCRIPTION | 命令功能的深入讨论 |
EXAMPLES | 怎样使用命令的例子 |
SEE ALSO | 相关主题(通常是手册页) |
例如:查看ls这个命令的帮助信息
man ls
2 .help
help [命令] (功能描述:获得shell内置命令的帮助信息)
例如:help cd
2、切换用户身份的命令
1.su
su [选项] 用户名
- 表示用户的环境变量一起切换
-c 仅执行一次命令,而不切换用户身份
例如:su - root 切换到超级用户
3、文件目录类命令
1.pwd
pwd :显 示当前工作目录的绝对路径 print work director
2.cd
cd [目录] :切换到某个目录 change directory
/ 切换到根目录
… 回到上一级目录
. 当前目录
- 显示并打开到上一次操作的目录
~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)
3.ls
ls [选项] [文件或目录] :显示文件或者目录 list
-a all 显示所有文件,注意隐藏文件,特殊目录.和…
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
ll 相当于 ls –l
4.mkdir
mkdir [选项] [目录名] : 创建目录 make directory
-p 父目录不存在就创建符目录
例如:mkdir -p a/b 创建多级目录
mkdir a/ 在当前目录下创建a目录
5.touch
touch 文件名 :创建文件或更新一次在文件的时间(注意是文件二不是目录)
例如:touch a.txt创建一个文件
touch a.txt b.txt c.txt}创建多个文件
touch “program files” 创建带空格的文件,但是不要创建
6.cp
cp [选项] 源文件或者源目录] 目的目录 :复制文件或者目录 copy
语法:cp [–rp] 源文件或目录 目的目录
-r -R recursive 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
1,相对路径 cp –R /etc/* . cp –R …/aaa …/…/test/
2,绝对路径 cp –R **/**ect/service /root/test/aa/bb
7.mv
mv 源文件或目录 目的目录 :移动文件或者目录 move
例如:mv a/ b/
8.rm
rm [选项] 文件或者目录:删除文件或者目录 remove
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
注意:工作中,谨慎使用rm –rf 命令。
扩展点:删除乱码文件
一些文件乱码后使用rm -rf 依然无法删除
此时,使用ll -i 查找到文件的inode节点
然后使用find . -inum 查找到的inode编号 -exec rm {} -rf ;
就能顺利删除了
9.cat
cat [选项] [文件名] :显示文件内容 concatenate
语法:cat [-n] [文件名]
-A 显示所有内容,包括隐藏的字符
-n 显示行号
例如:cat -n -A anaconda-ks.cfg 显示anaconda-ks.cfg这个文件的所有内容,并且标出行
**10.**more
more[文件名]:分页显示文件内容
语法:more [文件名]
空格或f 显示下一页
Enter键 显示下一行
q或Q 退出
11.head
head [选项] [文件名]:查看文件前几行,默认前10 行
语法:head [文件名]
-n 指定行数
例如:head -14 /etc/services
12.tail
tail [选项] [文件名]:查看文件的后几行
语法:tail [文件名]
-n 指定行数
-f (follow) 动态显示文件内容
13.echo
**echo [选项] [输出内容]:**输出内容到控制台
-e: 支持反斜线控制的字符转换
控制字符 | 作用 |
---|---|
\ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是Tab键 |
例如:echo -e “姓名\t年龄”
14.> 覆盖 和 >> 追加
> 覆盖 和 >> 追加
1.基本语法
(1)ll >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ll >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件
15.ln
**ln -s [原文件或目录] [软链接名]:**给文件或者创建软连接
软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。
1.基本语法
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
2.经验技巧
删除软链接: rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll就可以查看,列表属性第1位是l,尾部会有位置指向。
16.history
history:查看历史命令
4、文件搜索命令
1.find
find [搜索路径] [匹配条件]:查找文件或目录
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
1.基本语法
find [搜索范围] [选项]
2.选项说明
表1-27
选项 | 功能 |
---|---|
-name<查询方式> | 按照指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件。 |
3.案例实操
(1)按文件名:根据名称查找/目录下的filename.txt文件。
*:匹配所有
?:匹配单个字符
find a/ -name “*.txt” 查询当目录下的a目录下的有的txt文件
find a/ -name “?a*.txt” 查询第二个字符为a的文件
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小 于 n等于)
以block为单位,一个block是512B, 1K=2block
find /home -size +204800
(4)-type 按文件类型查找
f :二进制文件 l :软链接文件 d: 目录 c :字符文件
eg: find /dev -type c
2.grep
grep [选项] ‘搜寻字符串’ 文件名:在文件中搜寻字串匹配的行并输出
选项:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
-v :反向选择,显示不包含匹配文本的所有行。
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
1.搜寻 /etc/services文件下含有ftp字符的所有的行
eg:grep “ftp” /etc/services
eg:grep -v ^# /etc/inittab 去掉文件行首的#号
eg: grep -n “init”/etc/inittab 显示在inittab文件中,init匹配行及行号
eg:grep -c“init”/etc/inittab 显示在inittab文件中,init匹配了多少次
eg:ls | grep -n test 显示当前目录下含test字符的文件或者目录在第几行
例如: [root@node01 /]# ls | grep -n etc 查找根目录下含etc字符的目录或者文件在第几行
3.which
which 命令:查找命令在什么目录下
例如:which ll
4.whereis
whereis 命令:搜索命令所在目录 配置文件所在目录 及帮助文档路径
命令路径:/usr/bin/whereis 执行权限:所有用户
作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径
eg: which passwd 和 whereis passwd
5、压缩解压命令
1.gzip
**gzip 文件名:**压缩(解压)文件,压缩文件后缀为.gz
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户
语法:gzip 文件
-d将压缩文件解压(decompress)
例如:gzip –d a.zip或者 gunzip a.zip 将压缩文件a.rar解压
例如:gzip a.txt 将a.txt压缩为a.txt.gz
2.bzip2
bzip2 [-选项] 文件 :压缩(解压)文件,压缩文件后缀为.bz2
-k:产生压缩文件后保留原文件(压缩比高)
-d 解压缩的参数(decompress)
解压使用bzip2 –d或者 bunzip2
3.zip
zip [选项] 压缩后的文件名称 要压缩的文件或目录名 : 压缩(解压)文件,压缩文件后缀为.zip
-r压缩目录
例如:zip -r a.zip /test 将/test目录压缩为文件名为a.zip的文件
解压使用:unzip 文件名
4.tar
tar [选项] 压缩后文件名 文件或目录😗*文件、目录打(解)包
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-j 以bzip2命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
1, 单独的打包 ,解包 tar –cf tar –xf
2, 打包之后,进行压缩 gzip bzip2
3, 一步到位 tar –zcvf tar -zxvf
tar -cf -xf 单独 压缩 解压缩
tar -z 以gzip打包目录并压缩 文件格式.tar.gz(.tgz)
tar -j 以bzip2打包目录并压缩 文件格式.tar.bz2
eg:tar -zcvf dir1.tar.gz dir1 使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
tar -zxvf dir1.tar.gz -C(大写的) /root 解压到指定的/root目录
eg: tar -cvf bak.tar . 将当前目录的文件打包为bak.tar
eg: tar -xvf bak.tar 解压
eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar 使用gzip将打包文件bak.tar压缩为bak.tar.gz
eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
eg: tar -rvf bak.tar /etc/password 将/etc/password追加文件到bak.tar中®
eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的压缩文件
eg:tar -xjf test.tar.bz2 解压
最常用: tar + gzip
tar –zcvf 压缩
tar –zxvf 解压
补充:
1,文件路径, 压缩包带文件路径
2,源文件是保留的,不会被删除
6、时间类命令
1.date
date 显示当前时间
1.基本语法
(1)date (功能描述:显示当前时间)
(2)date +%Y (功能描述:显示当前年份)
(3)date +%m (功能描述:显示当前月份)
(4)date +%d (功能描述:显示当前是哪一天)
(5)date “+%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒)
2.date -d
显示非当前时间
1.基本语法
(1)date -d ‘1 days ago’ (功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’ (功能描述:显示明天时间)
2.案例实操
(1)显示前一天
date -d ‘1 days ago’
2017年 06月 18日 星期日 21:07:22 CST
(2)显示明天时间
date -d ‘-1 days ago’
2017年 06月 20日 星期日 21:07:22 CST
3.date -s
设置当前系统时间
1.基本语法
date -s 字符串时间
2.案例实操
(1)设置系统当前时间
date -s “2017-06-19 20:52:18”
4 .cal
查看日历
1.基本语法
cal [选项] (功能描述:不加选项,显示本月日历)
2.选项说明
表1-22
选项 | 功能 |
---|---|
具体某一年 | 显示这一年的日历 |
3.案例实操
(1)查看当前月的日历
cal
(2)查看2017年的日历
cal 2017
7、