1、请用命令查出ifconfig命令程序的绝对路径
[root@localhost ~]# which ifconfig
/usr/sbin/ifconfig
2、请用命令展示以下命令哪些是内部命令,哪些是外部命令?(cd \ pwd \ ls \ ifconfig \ du)
[root@localhost ~]# type cd
cd 是 shell 内嵌 (由此可见该命令cd为内部命令)
[root@localhost /]# type pwd
pwd 是 shell 内嵌(由此可见该命令pwd为内部命令)
[root@localhost /]# type ls
ls 是 `ls --color=auto' 的别名(由此可见该命令ls为外部命令)
[root@localhost /]# type ifconfig
ifconfig 是 /usr/sbin/ifconfig(由此可见该命令ls为外部命令)
[root@localhost /]# type du
du 是 /usr/bin/du(由此可见该命令ls为外部命令)
3、请在/下创建目录abc
[root@localhost /]# mkdir /abc
[root@localhost /]# ls
abc boot etc liangjian lib64 mnt proc run srv tmp var
bin dev home lib media opt root sbin sys usr
请在/下创建目录/liangjian/liyunlong/weiheshang/duanpeng
[root@localhost /]# mkdir -pv /liangjian/liyunlong/weiheshang/duanpeng
mkdir: 已创建目录 "/liangjian"
mkdir: 已创建目录 "/liangjian/liyunlong"
mkdir: 已创建目录 "/liangjian/liyunlong/weiheshang"
mkdir: 已创建目录 "/liangjian/liyunlong/weiheshang/duanpeng"
[root@localhost /]# ls -R liangjian
liangjian:
liyunlong
liangjian/liyunlong:
weiheshang
liangjian/liyunlong/weiheshang:
duanpeng
liangjian/liyunlong/weiheshang/duanpeng:
请在/abc下一次创建1000个目录,名字自己拟定。
[root@localhost /]# mkdir /abc/{1..1000}.txt
4、请用绝对路径方式切换到/liangjian/liyunlong/weiheshang/duanpeng 目录下
并用pwd查看当前的路径,请用上级目录名".."方式切换到 /liangjian/liyunlong下
[root@localhost liyunlong]# cd /liangjian/liyunlong/weiheshang/duanpeng
[root@localhost duanpeng]# pwd
/liangjian/liyunlong/weiheshang/duanpeng
[root@localhost duanpeng]# cd ../..
[root@localhost liyunlong]# pwd
/liangjian/liyunlong
5、请一次删除/abc下一次创建的1000个目录,请在/abc下用touch再创建20个以stu开头的普通可读文档,文档后缀为.txt
[root@localhost /]# cd /abc
[root@localhost abc]# rm -rf *
[root@localhost abc]# touch stu{1..20}.txt
6、请用cp命令将/boot/目录下以vmlinuz开头的文件拷贝到/abc下,并以查看他们占磁盘的空间大小。
[root@localhost /]# cp /boot/vmlinuz* /abc
[root@localhost /]# du -sh /abc/vmlinuz*
6.0M/abc/vmlinuz-0-rescue-354622b8ec094726a50177638e8ac3ea
6.0M/abc/vmlinuz-3.10.0-862.el7.x86_64
7、将其中一个vmlinuz开头的文件改名为kgc,另外一个剪切到/tmp目录下。
[root@localhost /]# mv /abc/vmlinuz-3.10.0-862.el7.x86_64 /abc/kgc
[root@localhost /]# mv /abc/vmlinuz-0-rescue-354622b8ec094726a50177638e8ac3ea /tmp
8、查看/tmp/目录下以vmlinuz开头文件的详细状态信息。
[root@localhost /]# stat /tmp/vmlinuz-0-rescue-354622b8ec094726a50177638e8ac3ea
文件:"/tmp/vmlinuz-0-rescue-354622b8ec094726a50177638e8ac3ea"
大小:6224704 块:12160 IO 块:4096 普通文件
设备:fd00h/64768dInode:101778954 硬链接:1
权限:(0755/-rwxr-xr-x) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2019-07-23 20:41:36.196748328 +0800
最近更改:2019-07-23 20:41:36.211749087 +0800
最近改动:2019-07-23 20:55:26.430471398 +0800
创建时间:-
9、用find命令查找/tmp目录下以vmlinuz开头及大小超过1M的文件
[root@localhost /]# find /tmp -name "vmlinuz*" -a -size +1M
/tmp/vmlinuz-0-rescue-354622b8ec094726a50177638e8ac3ea
【拓展】
tree : 将所有文件以树的形式列出来
========================================================
临时关闭防火墙
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld
临时关闭selinux安全机制
setenforce 0
永久关闭selinux安全机制
sed -i '7 s/enforcing/disabled/' /etc/selinux/config
Linux命令格式
Linux 命令的通用格式:命令字 [选项] [参数]
选项:用于调节命令的具体功能
"-" 引导短格式选项
"--" 引导长格式选项
注意:多个短格式选项可以合并,但是多个长格式选项,不能合并
参数:命令的对象,如文件、目录名等
命令快捷键
tab 键:自动补齐文件名,命令等;按两次 tab 键,系统将输出可用的所有名称列表
反斜杠 "\":强制换行、续行符、转义符
ctrl+U:快速删除光标之前所有字符(可视为剪切)
ctrl+K:快速删除光标之后所有字符(可视为剪切)
ctrl+Y:黏贴刚才所删除(剪切)的字符
ctrl+L:清屏
ctrl+C:取消当前命令行编辑;结束当前执行的命令
ctrl+D:从 shell 提示中注销关闭,类似输入 exit
ctrl+A:把光标移动到行首,类似于 Home 键
ctrl+E:把光标移动到行尾,类似于 End 键
ctrl+Z:转入后台运行
ctrl+R:在历史命令中查找(常用并且很好用)
重要文件及包含的内容
/
根目录
包含了几乎所有的文件目录。相当于中央系统
/boot
引导程序,内核等存放的目录
/sbin
超级用户可以使用的命令的存放目录
/bin
普通用户可以使用的命令的存放目录
/lib
根目录下的所有程序的共享库目录
/dev
设备文件目录
/home
普通用户的家目录
/root
用户 root 的$HOME目录
/etc
全局的配置文件存放目录
/usr
这个目录中包含了命令库文件和在通常操作中不会修改的文件
/usr/lib
目标库文件,包括动态连接库加上一些通常不是直接调用的可执行文件的存放目录
/usr/bin
一般使用者使用并且不是系统自检等所必需可执行的目录
/usr/sbin
管理员使用的非系统必须的可执行文件存放目录
/usr/local
安装本地程序的一般默认路径
Linux基础命令
type
查看命令是外部命令还是内部命令
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序
help
内部命令帮助,查看bash内部命令的帮助
用法1:help 内部命令字
用法2:命令字 --help
即命令的"--help"选项,适用于大多数外部命令
man
用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便实用。
用法:man 命令字
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-Mpath] [-P pager] [-S section_list][section] name ...
-C config_life:指定设定文件 man.conf,缺省值是 /etc/man.conf
touch
作用:创建空文件,用于测试。若当前文件已存在时,将更新该文件的时间戳
格式:touch 文件名
参数说明:
- a 改变档案的读取时间记录。
- m 改变档案的修改时间记录。
- c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
- f 不使用,是为了与其他 unix 系统的相容性而保留。
- r 使用参考档的时间记录,与 --file 的效果一样。
- d 设定时间与日期,可以使用各种不同的格式。
- t 设定档案的时间记录,格式与 date 指令相同。
- --no-create 不会建立新档案。
- --help 列出指令格式。
- --version 列出版本讯息。
实例
文件已存在,使用指令 "touch" 修改文件 "testfile" 的时间属性为当前系统时间:
touch testfile
使用指令 "touch" 时,如果指定的文件不存在,则将创建一个新的空白文件。
touch file
mkdir(make directory)
作用:创建新目录
格式:mkdir [选项] 目录位置及名称
常用选项:
-p 一次性创建嵌套的多层目录
-v 显示详细
-m 跳出当前的 umask 值
du (disk usage)
作用:用于统计指定目录或文件所占用磁盘空间的大小
格式:du [选项] 目录或文件名
常见选项:
-a 统计磁盘空间占用时所有的文件,而不仅仅是统计目录
-s 只统计所占用空间总的(summary)大小
rm(remove)
作用:删除指定的文件与目录
格式:rm [选项] 要删除的文件或目录
常用选项:
-f 不提示,直接强制删除
-i 提示用户确认
-r 递归式删除整个目录树
实例
删除文件可以直接使用 rm 命令,若删除目录则必须配合选项 “-r”
# rm test.txt
rm:是否删除 一般文件 "test.txt"? y # rm homework rm: 无法删除目录"homework": 是一个目录 # rm -r homework rm:是否删除 目录 "homework"? y
删除当前目录下的所有文件及目录,命令行为:
rm -r *
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令。
mv(move)
作用:将指定文件或目录转移位置(剪切),如果目标位置与源位置相同,则相当于执行重命名操作
格式:mv [选项] 源文件或目录 目标文件或目录
参数说明:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
mv参数设置与运行结果
命令格式 | 运行结果 |
---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名 |
mv 目录名 文件名 | 出错 |
实例
将文件 aaa 更名为 bbb:
mv aaa bbb
将 info 目录放入 logs 目录中,注意,如果 logs 目录不存在,则该命令将 info 改名为 logs:
mv info/ logs
将 /usr/student 下的所有文件和目录移到当前目录下:
mv /usr/student/* .
cp(copy)
作用:复制文件或目录
格式:cp [选项] 源文件或目录 目标文件或目录
常用选项:
-f 覆盖同名文件或目录,强制(force)复制
-i 提醒用户确认(interactive,交互式)
-p 保持(preserve)源文件权限、属性、属主及时间标记等不变
-r 递归(recursive)复制
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
实例
使用指令"cp"将当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:
cp -r test/ newtest
注意:用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
ls (list)
作用:列表显示目录内的文件及目录,结合不同选项实现不同的作用
格式:ls [选项] 目录或文件名
常用选项:
-l 以长格式(long)显示文件和目录的列表
-a 显示所有(all)子目录和文件的信息
-A 与-a 基本类似,但有两个特殊隐藏目录"."和".."不显示
-d 显示目录(directory)本身的属性,常与 -l 同时使用
-h 以更人性化(human)的方式显示出目录或文件的大小,常与 -l 同时使用
-R 以递归(recursive)的方式显示目录及其子目录中的所有内容
cd
切换目录
pwd
显示当前工作目录
find
Linux find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
作用:精细查找文件或目录
格式:find [查找范围] [查找条件表达式]
参数说明 :
find path -option [ -print ] [ -exec -ok command ] {} \;
PS:[]中的是可以没有的,就是附加选项
-path:就是文件的路径啦
-option:就是下面要说明的各个参数,参数后面有的会有操作数,需要注意
-print:find命令将匹配的文件输出到标准输出。
-exec : -ok是-exec的一个选项,加上之后执行command时会询问用户
{} \:注意是反斜杠,大括号和反斜杠之间有一个空格
-;:注意!!!!分号必不可少!!!
常用查找条件:
-name 按名称查找
-size 按大小查找
-user 按文件属主查找
-type 按类型查找
-perm 按执行权限来查找
-group 按文件属组查找
-mtime -n +n 按文件更改时间来查找文件,-n 指 n 天以内,+n 指 n 天以前
-atime -n +n 按文件访问时间来查找文件
-ctime -n +n 按文件创建时间来查找文件
逻辑运算符
-a(and)逻辑"与"运算
-o(or) 逻辑"或"运算
实例
将当前目录及其子目录下所有延伸档名是 c 的文件列出来
find . -name *.c
将当前目录及其子目录中所有一般文件列出
find . -type f
将当前目录及其子目录下所有最近 20 天内更新过的文件列出
find . -ctime -20
查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问他们
find /var/log -type f -mtime +7 -ok rm {} \;
查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件
find . -type f -perm 644 -exec ls -l {} \;
为了查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径
find / -type f -size 0 -exec ls -l {} \;
场景1:服务器磁盘满,一般由大的日志文件导致,需找到大文件并删除。
解决1: find / -size +500M -print0|xargs -0 du -m|sort -nr
find指令为找出500M以上的文件,print0和xargs -0配合使用,用来解决文件名中有空格或特殊字符问题。du -m是查看这些文件的大小,并以m为单位显示。最后sort -nr是按照数字反向排序(大的文件在前)
解决2:上述方法从根路径查找,可能列出一些系统文件。可以在这个查找之前先进行一下过滤。
使用du -m -d 1 /|sort -nr
先看看根路径下,哪个文件夹比较大,并且有嫌疑是导致磁盘满的罪魁祸首。然后再基于那个目录进行find。
----------------------------------------
场景2: 记得写过一个xxx.c的文件,但是忘了放哪里了
解决: find / -name *xxx*.c
模糊查找下这个文件
which
作用:查找 Linux 命令程序所在的位置
格式:which 命令|程序名
注意:默认当只熬到第一个目标后不再继续查找,若需查找全部,加选项 -a
实例:
使用指令"which"查看指令"bash"的绝对路径,输入如下命令:
which bash
上面的指令执行后,输出信息如下所示:
/bin/bash
stat
查看文件详细状态信息
cat
查看文件内容,可同时显示多个文件的内容
格式:cat [选项] 文件名
常用选项:
-n 显示内容的同时显示行号 (正序)
-b 显示内容的同时显示行号(空白行不加,正序)
-A 显示所有的字符(通常 Windows 系统拷贝过来的文件无法直接cat到,需要加此选项)
实例:
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
cat -n textfile1 > textfile2
把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里
cat -b textfile1 textfile2 >> textfile3
清空 /etc/test.txt 文档内容
cat /dev/null >> /etc/test.txt
cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
cat /dev/fd0 > OUTFILE
相反的,如果想把 image file 写到软盘,输入:
cat IMG_FILE > /dev/fd0
注:
OUTFILE:指输出的镜像文件名
IMG_FILE:指镜像文件
tac
与 cat 基本相同,但是倒序显示
nl
与 cat 基本相同,但是空行不显示
more
全屏方式分页显示文件内容
Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
格式:more [选项] 文件名(一般不用选项)
参数:
- -num 一次显示的行数
- -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
- -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
- -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
- -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
- -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
- -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
- -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
- +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
- +num 从第 num 行开始显示
- fileNames 欲显示内容的文档,可为复数个数
实例
逐页显示 testfile 文档内容,如有连续两行以上空白行则以一行空白行显示。
more -s testfile
从第 20 行开始显示 testfile 之文档内容。
more +20 testfile
常用操作命令
- Enter 向下n行,需要定义。默认为1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
格式:less [选项] 文件名(一般不用选项)
快捷键:
按 PgUp、PgDn 键上下翻页
按 "/" 键查找内容,"n" 下一个,"N" 上一个
实例
查看文件
less log2013.log
ps查看进程信息并通过 less 分页显示
ps -ef | less
查看命令历史使用记录并通过 less 分页显示
history | less
浏览多个文件
less log2013.log log2014.log
说明:
输入:n 后,切换到 log2014.log
输入:p 后,切换到 log2013.log
附加备注
1.全屏导航
- ctrl + F - 向前移动一屏
- ctrl + B - 向后移动一屏
- ctrl + D - 向前移动半屏
- ctrl + U - 向后移动半屏
2.单行导航
3.其它导航
- G - 移动到最后一行
- g - 移动到第一行
- q / ZZ - 退出 less 命令
4.其它有用的命令
- v - 使用配置的编辑器编辑当前文件
- h - 显示 less 的帮助文档
- &pattern - 仅显示匹配模式的行,而不是整个文件
5.标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
- ma - 使用 a 标记文本的当前位置
- 'a - 导航到标记 a 处
head
查看文件开头的一部分内容,默认显示 10 行,可加选项调节
tail
查看文件结尾的一部分内容,默认显示 10 行,可加选项调节
tail -f 动态更新尾部的信息,Ctrl+C 终止
wc
作用:统计文件中的单词数量(Word Count)等
格式:wc [选项] ... 目标文件
常用选项:
-l 统计行数
-w 统计单词个数
-c 统计字节数
grep
cut
显示每行从开头算起 num1 到 num2 的文字。
语法
egrep
26、gzip
27、gunzip
28、bzip2
29、bunzip2
30、tar
31、vi
32、vim
33、rpm
34、yum
35、md5sum
36、./configure
37、make
38、make install
39、useradd
40、passwd
41、usermod
42、userdel
43、groupadd
44、gpasswd
45、groupdel
46、id
47、groups
48、finger
49、w
50、who
51、whoami
52、fuser
chmod
修改、设置文件权限
语法
chmod [-cfvR] [--help] [--version] mode file...
参数说明
mode : 权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
其中:
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
其他参数说明:
- -c : 若该文件权限确实已经更改,才显示其更改动作
- -f : 若该文件权限无法被更改也不要显示错误讯息
- -v : 显示权限变更的详细资料
- -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
- --help : 显示辅助说明
- --version : 显示版本
实例:
将文件 file1.txt 设为所有人皆可读取:
chmod ugo+r file1.txt
将文件 file1.txt 设为所有人皆可读取:
chmod a+r file1.txt
将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该文件拥有者可以执行:
chmod u+x ex1.py
将当前目录下的所有文件与子目录皆设为任何人可读取:
chmod -R a+r
此外 chmod 也可以用数字来表示权限如:
chmod 777 file
语法为:
chmod abc file
其中 a,b,c 各为一个数字,分别为 User,Group 及 Other 的权限。
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;
若要 rw- 属性则 4+2=6;
若要 r-x 属性则 4+1=5。
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用 chmod 4755 filename 可使此程序具有 root 的权限
chown
Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。 。
一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限把自己的文件拥有者改设为别人。只有系统管理者(root)才有这样的权限。
语法
chown 参数 文件...
参数
- user : 新的文件拥有者的使用者 ID
- group : 新的文件拥有者的使用者组(group)
- -c : 显示更改的部分的信息
- -f : 忽略错误信息
- -h :修复符号链接
- -v : 显示详细的处理信息
- -R : 处理指定目录以及其子目录下的所有文件
- --help : 显示辅助说明
- --version : 显示版本
实例
将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup
chown runoob:runoobgroup file1.txt
将当前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup
chown -R runoob:runoobgroup *
chgrp
用于变更文件或目录的所属群组
在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
格式:chgrp 参数 所属群组 文件或目录
参数
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
--version 显示版本信息。
实例:
改变文件的群组属性
chgrp -v bin log2012.log
根据指定文件改变文件的群组属性
chgrp --reference=log2012.log log2013.log
56、alias
57、unalias
umask
指定在建立文件时预设的权限掩码。
umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
语法
umask 权限掩码
参数
-S 以文字的方式来表示权限掩码
实例
使用指令 "umask" 查看当前权限掩码:
umask
使用指令 "umask" 设置权限掩码
umask 022
59、setfacl
60、getfacl
61、fdisk
62、mkfs
63、mkswap
64、swapon
65、swapoff
66、dd
67、parted
68、partprobe
69、partx
70、mount
71、umount
72、df
73、xfs_growfs
74、resize2fs
75、blkid
76、pvscan
77、vgscan
78、lvscan
79、pvcreate
80、vgcreate
81、lvcreate
82、pvdisplay
83、vgdisplay
84、lvdisplay
85、pvremove
86、vgremove
87、lvremove
88、vgextend
89、lvextend
90、vgreduce
91、lvreduce
92、uname
93、lsb_release
94、mdadm
95、quotacheck
96、quotaon
97、quotaoff
98、edquota
99、setquota
100、quota
101、repquota
102、init
103、reboot
104、chroot
105、grub2
106、runlevel
107、ntsysv
108、chkconfig
109、fsck
110、xfs_repair
111、systemctl
112、ps
113、top
114、uptime
115、pgrep
116、pstree
117、nohup
118、jobs
119、fg
120、bg
121、kill
122、killall
123、pkill
124、at
125、atq
126、atrm
127、date
128、crontab
chattr
用于改变文件属性
这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
- a:让文件或目录仅供附加用途。
- b:不更新文件或目录的最后存取时间。
- c:将文件或目录压缩后存放。
- d:将文件或目录排除在倾倒操作之外。
- i:不得任意更动文件或目录。
- s:保密性删除文件或目录。
- S:即时更新文件或目录。
- u:预防意外删除。
格式:chattr [-RV][-v<版本编号][+/-/=<属性>] [文件或目录...]
参数
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。
实例:
用 chattr 命令防止系统中某个关键文件被修改:
chattr +i /etc/resolv.conf
lsattr /etc/resolv.conf
会显示如下属性
----i-------- /etc/resolv.conf
让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
chattr +a /var/log/messages
lsattr
Linux lsattr命令用于显示文件属性。
用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。
语法
lsattr 参数 文件或目录
参数:
- -a 显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。
- -d 显示,目录名称,而非其内容。
- -l 此参数目前没有任何作用。
- -R 递归处理,将指定目录下的所有文件及子目录一并处理。
- -v 显示文件或目录版本。
- -V 显示版本信息。
131、chage
132、unset
reset
133、su
134、sudo
135、visudo
136、source
137、history
138、sync
139、export
140、John
141、nmap
142、ln
143、extundelete
144、dumpe2fs
145、tune2fs
146、file
147、last
148、lastlog
149、users
150、lastb
151、ifconfig
152、ip
153、ethtool
154、mii-tool
155、nslookup
156、route
157、netstat
158、ping
159、traceroute
160、hostname
161、ss
162、lsof
163、ifdown
164、ifup
165、hostnamectl
166、sysctl
167、echo
168、sleep
169、free
170、ntpdate
171、watch
172、tree