指令运行级别
运行级别配置文件:/etc/inittab
帮助信息
man 要查询的命令
help 要查看的命令
文件与目录类
ls
-a:显示隐藏文件
-l:以列表方式显示
mkdir (make directory)
-p
:创建多级目录。mkdir -p /home/a/v/b/v
,如果中间的目录不存在那么会一起创建。不加-p
就会报错。
rmdir
:删除一个目录,只能删除空目录,如果目录下有内容则无法删除
要删除有内容的目录,则需要使用rm -rf
。(-r 表示递归,-f 表示强制删除)
touch
:创建文件
cp
-r
:递归复制整个文件夹。
\cp -r a/ b/
:cp前加一个\
表示默认强制覆盖,如果b目录下已经有一个名为a的目录那么不再会提示是否覆盖
rm
-r
:递归删除整个文件夹
-f
:强制删除,不提示是否删除
mv
:移动文件或重命名
cat
:查看文件,-n显示行号
more
空格:向下翻页
Enter:向下翻一行
q:离开
Ctrl + F:向下滚动一屏
Ctrl + B:向上滚动一屏
= :输出当前行号
:f
:输出文件名和当前行号
less
相对于more,less并不是将整个文件加载完之后才显示,而是根据显示需要加载的内容,对于查看大文件很有用
空格:向下翻页
[pagedown]:向下翻页
[pageup]:向上翻页
q:离开
/yang:向下搜寻含有yang的字符串
?yang:向上搜寻
输出重定向和追加
>
为输出重定向。ls -l > a.txt
:将ls的内容写入到a.txt中,会覆盖文件的内容
>>
为追加ls -l >> a.txt
:不会覆盖,会在文件末尾追加内容
echo "aaa" > c.txt
:也可以用echo将输出的内容重定向到文件
echo
:输出内容到控制台。如echo $PATH
输出环境变量
head
head a.sh
:默认查看前十行
head -n 5 a.txt
:查看前五行
tail
tail a.sh
:默认查看后十行
tail -n 5 a.sh
:查看后五行
tail -f a.sh
:实施追踪文件的更新,只会追踪追加指令。如果使用vim则不会追踪,因为vim保存后实际上是删除源文件生成一个新的同名文件。
ln
:软链接,类似于windows中的快捷方式
ln -s [源文件] [快捷方式名]
ln -s ../redis/dump.rdb ddd
:现在查看ddd就相当于查看dump.rdb
lrwxrwxrwx 1 yang yang 17 Apr 15 21:48 ddd -> ../redis/dump.rdb
history
:查看已经执行过的命令,也可以执行历史命令。!111
就会执行编号为111的命令
时间日期类
date
date:显示当前时间
date +%Y
:显示当前年份
date +%m
:显示当前月份
date +%d
:显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S"
:格式化日期yang@PC-20200329MWQL:~$ date "+%Y-%m-%d %H:%M:%S" 2020-04-15 21:59:42
date -s 时间
:设置系统时间
cal
:显示日历
搜索查找类
locate
locat a.txt
locat指令无需遍历整个文件系统,但是要更新locate数据库
updatedb
命令创建/更新数据库
grep
grep 查找内容 源文件
-n
:显示匹配行及行号
-i
:忽略字母大小写yang@PC-20200329MWQL:~$ cat hello.sh #!/bin/bash function sum(){ .... yang@PC-20200329MWQL:~$ grep -n fun hello.sh 3:function sum(){
find
从指定目录递归的向下遍历其各个子目录,将满足条件的文件或目录显示在终端
find [搜索范围] [选项]
find /home hello.sh
:查找home文件夹下的hello.sh文件查找根目录下所有.txt的文件:
find / -name *.txt
压缩和解压缩类
gzip 文件名
:压缩文件成 *.gz。压缩后不会保留原来的文件
gunzip gz文件
:解压缩
zip [选项] 目的文件.zip 要压缩的内容
-r
:递归压缩,可以压缩文件
unzip [选项] 要解压的文件.zip
-d
:指定解压后的文件的存放目录
tar [选项] 目的文件 要打包的文件
压缩后的文件格式:tar.gz
-c
:产生 .tar文件
-v
:显示详细信息
-f
:指定压缩后的文件名
-z
:打包的同时压缩
-x
:解压.tar文件tar -zcvf h.tar.gz hello.sh #打包文件 tar -zcvf yang_home.tar.gz /home #打包home目录 tar -zxvf h.tar.gz #解压文件 tar -zxvf h.tar.gz -C /opt #添加-C可以指定解压文件到opt目录下
组管理和权限管理
Linux的每一个用户都有属于自己的组
文件有一些属性
- 所有者:谁创建的
- 所在组:这个人属于哪个组
-rw-rw-rw- 1 yang yang 353 Apr 11 16:57 sentinel.conf
用户 组
修改文件的所有者:
chown 用户名 文件名
。文件所在组不会更改chown root hello.sh #将hello.sh所有者更改为root用户 -rwxr-xr-x 1 root yang 158 Apr 15 17:05 hello.sh*
修改文件所在组:
chgrp root hello.sh
。将hello.sh所在组修改为root组
改变文件所在组
usermod -g 组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录
权限信息
rwx作用到文件时
r
:可读
w
:可写。对该文件有可写权限并不代表可以删除该文件。需要对该文件所在目录有可写权限才能删除该文件
x(execute)
:可执行rwx作用到目录时
r
:可读,也就是可以查看目录内容
w
:可写,也就是可以在该目录内创建、删除文件或重命名目录
x
:可执行,也就是可以进入该目录可用数字表示 (二进制)
r=4 (100) ; w=2 (010) ; x=1 (001) 。因此rwx为7 (111)
-rw-rw-rw-
:
- rw- rw- rw-
普通文件 文件所有者的权限 文件所在组的其他用户的权限 其他组的权限
353 Apr 11 16:57
:文件大小和最后修改的时间
修改权限-chmod
u:所有者 g:所有组 o:其他人 a:所有人
chmod u=rwx,g=rx,o=x 文件名
chmod o+w 文件名
。 给除了文件所有者的其他人添加读权限chmod a-x 文件名
。给除了文件所有者的其他人减去执行权限
chmod 755 a.txt
:第一个7代表文件拥有者权限
7(111) = 4(100) r + 2(010) w+ 1(001) x
第二个代表文件拥有者所在组的权限
5(101) = 4(100) r + 1(001) x
第三个代表其他用户的权限
修改文件所有者-chown
chown newowner filename
-R
:递归,可以对目录下的所有文件生效
修改文件所在组-chgrp
chgrp newgroup filename