●用户完全切换(当前目录也将切换到要切换用户的家目录)
su -l username
●cd命令
▪返回到上一次所处的目录
cd -
▪进入上级目录
cd..
▪切换到当前用户的家目录
cd ~
▪切换到其他用户的家目录
cd ~username
●修改当前用户密码
passwd
●ls命令显示目录文件列表:
-a 显示目录下所有文件(包括隐藏文件)
-all 显示文件所有文件及其属性
-l 显示文件详细信息
如果想要查看目录属性信息,则需要额外添加一个-d参数。
例:ls -ld /etc
●find命令
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n 匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n 匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n 匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser 匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
--type b/d/c/p/l/f 匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec …… {}; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)
例:
find /etc -name "host*" -print
find / -perm -4000 -print //搜索权限中包括SUID权限的所有文件,只需使用-4000即可
“-exec {} ;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“;”。
命令如下:
find / -user testuser -exec cp -a {} /root/findresults/ ;
例:find / -name test #包含test的文件和文件夹名
find / -type f -name "text.txt"
#找到文件后,交给管道删除
find / -type f -name "text.txt" | xargs rm -f
●cat 命令显示指定文件内容
-n 显示行号
例如:$ cat filename<回车>
●rm 命令删除文件
rm remove 删除文件或者目录 ,
-f 强制
-r 删除目录
注意:生产场景尽量不要使用rm,如果非要用,一定要先cp备份
例如:$ rm filename<enter>
-i 显示确认删除文件信息,输入y删除文件,输入n不删除文件。
●free命令
作用:显示当前系统中内存的使用量信息
# free -h
●sosreport
sosreport命令用于收集系统配置并诊断信息后输出结论文档,格式为:“sosreport”。
当咱们的Linux系统出现故障需要联系红帽厂商或其他技术支持时,大多数时候都要先使用这个SOS功能
来简单收集计算机的状态和配置信息。
●history命令
格式为“history [-c]”。
默认记录本机1000条历史命令记录,可以自定义/etc/profile文件中的HISTSIZE变量值。
▪历史命令会被保存到用户家目录中的.bash_history文件中。
例:cat ~/.bash_history
▪使用“!编码数字”//重复执行某一次的命令
例:history !10
例: history
history -c #清空历史记录
●cut命令
作用:用来按列提取文本字条
参数:
-f 参数:用来设置要看的列数
-d参数:设置间隔符号
例:提取出passwd文件中的用户名
cut -d: -f1 /etc/passwd #第一列,以:号分隔。
●stat命令
命令stat testfile会显示出文件的三种时间状态:Access、Modify、Change。
Modify:文件内容的修改时间(mtime)
Change:文件权限或属性的更改时间(ctime)
Access:文件的读取时间(atime)
用于查看文件的具体存储信息和时间
例:stat testfile
●less/more命令 分屏显示文件
例如:
$ less filename<enter> 显示完成后不回到shell,输入q返回shell
$ more filename<enter> 显示完成后回到shell
●cp:复制文件
cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
▪如果目标文件是目录,则会把源文件复制到该目录中;
▪如果目标文件也是普通文件,则会询问是否要覆盖它;
▪如果目标文件不存在,则执行正常的复制操作。
参数:
-a :相当于-pdr(相当于p,d,r三个参数的组合)
-d :若源文件为链接文件(link file),则复制链接文件属性而非档案本身
-f :强制,右目录档案已经存在且无法开启,则移除后再尝试
-i: 若目标文件已经存在时,覆盖时会先询问
-p:连同档案的属性一起复制过去,而非使用默认属性
-r:递归,用于复制目录
-u:若目标文件存在,则目标文件比源文件旧时才复制
提示:如果源文件是多个,那么目标文件在最后,且是目录。
●mkdir命令
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。
mkdir命令可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
例:
mkdir -p a/b/c/d/e
●mv 更改文件名
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
例如:
$ mv existing-filename new-filename<enter>
-i 提示确认更改信息,输入y更改,输入n不更改。
●lpr 打印文件
例如: $ lpr report<enter> 将文件report放入打印队列,默认由与计算机相连的唯一的打印机来完成此打印任务。
-P 可访问多个打印机时,指定打印机名来进行打印命令
例如: $ lpr -Pmailroom report <enter> mailroom 是打印机名
lpq 命令查看在打印队列中的打印作业文件及作业号
lprm 命令可将指定作业号的打印作业从打印队列中删除
例如:$ lprm 86<enter> 删除打印作业号是86的打印作业
另外: $ lpr -Plaser1 file1.txt file2.txt file3.txt<enter> 在名称为laser1的打印机上打印多个文件
●grep 命令在一个或多个文件中查找给定字符串
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。
-b 将可执行文件(binary)当作文本文件(text)来搜索
-c 仅显示找到的行数
-i 忽略大小写
-n 显示行号 ---->生产环境常用参数
-v 反向选择——仅列出没有“关键词”的行。 ---->生产环境常用参数
例:查找出当前系统中不允许登录系统的所有用户信息。
grep /sbin/nologin /etc/passwd
例如:
$ grep ‘the’ myfile<enter> 在myfile文件中查找”the”字符串,如果文件中存在”they”,”then”等包含”the”的词,
将显示”the”,”they”,”then”等所在的整个行。
要单词匹配加-w选项,例如:$ grep –w ‘the’ myfile<enter>
●head 命令显示指定文件的文件头部(默认显示10行数据显示)
例如:
$ head myfile.txt<enter> 将显示myfile.txt文件的前10行内容
如要指定显示行数,加-和数字选项,例如:
$ head -3 myfile<enter> 只显示文件前三行信息。
$ head -n 10 Myfile #显示前10行
●tail 命令显示指定文件尾的内容(默认显示10行数据信息)
例如:$ tail -5 myfile.txt <enter> 显示myfile.txt文件的后面五行信息
如果文件是一个不断在增加内容的文件,可以用以下方式显示增加行的内容:
$ tail –f logfile<.enter>可以通过中断键(Ctrl+C)终止tail的执行并显示shell提示符。
●uname 查看系统详细版本和内核版本
uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。
在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
●last命令
last命令用于查看所有系统的登录记录,格式为“last [参数]”。
用last命令可以查看本机的登录记录。但是,由于这些信息是以日志文件的形式保存在系统中,
内容很容易被篡改。故不要以该命令的输出信息判断系统有无被恶意入侵。
●top命令
作用:用于动态的监视进程活动与系统负载等信息。
功能类似于windows系统中的任务管理器
top命令的显示结果解释:
第1行:系统时间,运行时间,登录用户数,系统负载(分别为1分钟、5分钟、15分钟的平均值)。
第2行:进程总数,运行中的,睡眠中的,停止的,僵死的。
第3行:用户占用资源,系统内核占用资源,改变过优先级的进程,空闲的资源,等待输入输出的时间。
此行数据均为CPU数据并以百分比格式显示,例如"99.2 id"意味着有99.2%的CPU资源正在空闲中。
第4行:物理内存总量,使用量,空闲量,作为内核缓存的内存量。
第5行:虚拟内存总量,使用量,空闲量,已被提前加载的内存数据。
●ps命令
作用:用于查看系统中的进程状态 。格式为“ps [参数]”。
参数作用
-a 显示所有的进程(包括其他用户的)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。
当执行"ps aux"命令后,参数解释:
USER 进程的所有者
PID 进程ID号
%CPU 运算器占用率
%MEM 内存占用率
VSZ 虚拟内存使用量(单位是KB)
RSS 占用的固定内存量(单位是KB)
TTY 所在终端
STAT 进程状态
START 被启动的时间
TIME 实际使用CPU的时间
COMMAND 命令名称与参数
●pidof命令
pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。
每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。
[root@Linux]# pidof sshd
●kill命令
kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。
例:使用kill命令把pidof命令查询到的PID所代表的进程终止掉
kill 1161
●killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。
例:
▪查询httpd的所有关联进程id
pidof httpd
▪终止httpd
killall httpd
●uptime命令
作用:用于查看系统的负载信息,
格式为:“uptime”。
这个命令真的很棒,它可以为您显示当前系统时间、系统已运行时间、当前在线用户以及平均负载值等信息数据。
平均负载值指的是最近1分钟、5分钟、15分钟的系统压力情况,负载值越低越好,尽量不要长期超过1。
另外您还可以结合搭配用"watch -n 1 uptime"命令来每秒刷新一次来获得当前的系统负载情况。
●sort 命令按顺序显示文件内容
例如: $ sort filename<enter> 对文件filename按行排序显示内容
●uniq 命令忽略文件中的重复行
例如: $ uniq filename<enter> 对文件filename内容忽略重复的内容
●diff 命令比较两个文件
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
在使用diff命令时,不仅可以使用--brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。
例:
diff --brief test_A.txt test_B.txt
diff -c test_A.txt test_B.txt
例:$ diff -u onefile twofile<enter>
以上-u将具有多行的较长文件分成几块,每块的前面一行的开始和结束,都是符号”@@“,
其中的数字表示了块开始的行号和后续的行数。
●file 测试文件内容
file命令用于查看文件的类型,格式为“file 文件名”。
工具file可以直接获得Linux系统中任何文件的内容信息。
Linux系统中,由于文本、目录、设备等统称为文件,因此不能单凭后缀知道具体的文件类型,
此时就需要使用file命令来查看文件类型了
例如:$ file retterfile<enter> 查看retterfile文件信息
$ file onefile twofile<enter> 查看两个文件信息
●管道:管道是將一个进程的标准输出重定向为另一个进程的输入。
(在命令行上用‘|’表示,对应于键盘上的实线或虚线键)
例如:
$ cat xm.txt | head -2<enter>
此命令將cat进程执行的输出內容传送給head進程,只显示了xm.txt文件前2行数据。
这条命令其实和 $ head -2 xm.txt | cat <enter> / $ head -2 xm.txt的输出結果相同。
●echo : 显示文本
echo工具可以复制其后跟的任何內容,并將其显示在屏幕上,如果使用通配符(*),shell解释为当前目录下的所有文件。
打印输出内容,配合“>或>>” 可以为文件覆盖及追加内容。
">" 意思是重定向,会清除文件里所有以前数据。
">>" 为追加内容
例如:
$ echo this is a book!<enter> 执行后屏幕上將显示“this is a book!”
$ echo this : *.txt<enter> 执行后屏幕上显示”this :”及当前目录下的所有txt文件
●date命令
date命令用于显示及设置系统的时间或日期,格式为:"date [选项] [+指定的格式]"。
强大的date命令只需键入以"+"号开头的参数即可按照指定格式来输出系统的时间或日期.
date [options][+format][date]
$ date -s 06/09/2004 修改日期(按月日年格式)
$ date -s 13:56:00 修改时间(按时分秒格式)
$ date -r test 显示test文件最后一次的修改时间
$ date +'%Y-%m-%d' 以yyyy-mm-dd格式显示日期,
$ clock -r 查询BIOS时间
$ clock -w 把修改后的时间写回BIOS
参数作用
%t跳格[TAB键]
%H小时(00-23)
%I小时(00-12)
%M分钟(00-59)
%S秒(00-59)
%X相当于%H:%M:%S
%Z显示时区
%p显示本地AM或PM
%A星期几 (Sunday-Saturday)
%a星期几 (Sun-Sat)
%B完整月份 (January-December)
%b缩写月份 (Jan-Dec)
%d日(01-31)
%j一年中的第几天(001-366)
%m月份(01-12)
%Y完整的年份
按照"年-月-日 小时:分钟:秒"的格式查看当前的系统时间:
[root@linux ~]# date "+%Y-%m-%d %H:%M:%S"
设置当前的系统时间为2017年5月1日1点20分:
[root@linux ~]# date -s "20170501 1:20:00"
查看今天是一年中的第几天:
[root@linux ~]# date "+%j"
●dd命令
作用:用于指定大小的拷贝文件或指定转换文件
dd命令:是个比较重要且具有特色的一个命令,它能够让用户指定数据块的大小和个数来复制一个文件的内容,
当然如果您愿意的话还可以在复制过程中转换其中的数据。Linux系统中有一个叫做/dev/zero的设备文件,
它不会占用您的系统存储空间,但里面却可以保存有无穷无尽的数据,一般用来搭配dd命令来生成出来一个指定大小的文件。
参数 作用
if 输入的文件名称。
of 输出的文件名称。
bs 设置每个“块”的大小。
count设置要拷贝“块”的个数。
例1:[root@linux ~]# dd if=/dev/zero of=560_file count=1 bs=560M
例2:从光驱中复制iso镜像文件到服务器指定目录
#从/dev/cdrom 中复制镜像文件到/opt目录中
[root@Linux opt]# dd if=/dev/cdrom of=/opt/CentOS.iso //制作ISO的方法
●script: 记录linux会話信息
script可以记录登录会话的部分或全部信息,如輸入和系統的应答。只對基于文本的设备有效,可以捕捉vim的會話。
捕捉到的會話內容將保存在typescript文件中,若想存放在某個指定文件中,可在后面指定文件名。输入exit命令后记录結束
例如:
$ script –a xm.txt<enter> 以追加的方式將script工具捕捉到的會話內容保存到xm.txt文件中。当输入exit命令后記錄結束。結束后可以查看xm.txt文件內容
●dos2unix: 工具將Windows格式的文件转换为linux 格式。
例如:$ dos2unix xm.txt <enter>
●tr
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”。
例:把某个文本内容中的英文全部替换为大写:
cat test.cfg | tr [a-z] [A-Z]
也可实现dos格式的文本文件向linux转化,例如:
$ cat memo | tr -d ‘
’ > memo.txt
此命令通过选项-d刪除其中的回车符,
然后再将数据保存到memo.txt文件中。
●wc命令
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
●unix2dos: 工具將linux文件转换为Windows格式。
●bzip2:压缩文件
工具是通過分析和有效记录文件內容的方法來压缩文件。
例如:$ ls -l <enter>显示目录下文件詳細信息,占用空間大小
$ bzip2 -v xm.txt <enter>压缩xm.txt文件并(-v 选项)显示出节省空间的百分比。
$ ls -l<enter> 查看压缩文件后xm.txt.bz2的大小。但是此文件不能显示,也不能打印。
●bunzip2:解压缩文件
工具可將bzip2压缩的文件解压缩恢复为原來的文件,例如:
$ bunzip2 xm.txt.bz2<enter>
●bzcat:显示bzip压缩文件的內容,即专门显示以.bz2为后缀名的压缩文件。
工具首先將压缩数据解压,然后显示解压缩后的文件內容。
例如:
$ bzcat xm.txt.bz2 | head -2<enter> 管道將bzcat的输出重定向到head的输入,使得文件只显示了前兩行。
另外還有gzipgunzipzcat压缩,解压缩,查看压缩文件命令。此压缩文件后綴是.gz。使用方法和bzip2/bunzip2/bcat的使用方法相同。
compress工具也可压缩文件,但是沒有gzip高效。此工具压缩的文件后綴是.Z。
●tar:打包和解包文件
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名。它必须放到参数的最后一位,代表要压缩或解压的软件包名称
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录
例:
压缩:tar -czvf 压缩包名称.tar.gz 要打包的目录
解压:tar -xzvf 压缩包名称.tar.gz
解压:tar xzvf etc.tar.gz -C /root/etc //指定解压目录
該工具常用來將多个文件或多个目录归档为一个tar文件,或者將某个tar文件分解开。
tar 选项:-c(creat,创建),-v(verbose,包含详细信息),-f(从一个文件读写),-t(归档文件按照表格形式显示)
tar后跟-x和-t选项可將归档文件分解开,忽略-v选项使得tar执行过程中不显示操作提示。
例如:
$ tar –cvf all.tar onefile twofile threefile<enter>
此命令將目录下的三個文件打包为all.tar文件。
$ tar –tvf all.tar<enter> 分解归档文件all.tar。
可以用前面介绍的压缩工具將归档文件进行压缩,用bzip2压缩后文件后缀是.tar.bz2;
用gzip工具压缩后的文件后缀是.tar.gz或者.tz;用compress压缩后的文件后綴是.tar.Z。
从网上下载的make工具(make-3.80.tar.gz)进行解包的过程:
$ gunzip make*<.enter> 解压缩make-3.80.tar.gz,保存为make-3.80.tar,在make后面加’*’通配符,
shell会自动匹配,如果当前目录有两个make开始的文件,则不能这样用。
$ tar –xvf make*<enter> 解包make-3.80.tar,并显示解包信息。
如果是.tar.bz2后缀,只需要把解压缩工具换为bunzip2就可以了。
另外$ tar –t filename.tar<enter>命令可以不用打开归档文件而显示归档文件内的文件列表。
还可以通过管道将gunzip和tar命令放在一个命令行上,由管道将gunzip的输出重定向到tar的输入,
例如:
$ gunzip –c make-3.80.tar.gz | tar –xvf – <enter>
其中选项-c使得gunzip将输出送到管道而不再创建文件
还有一种简单的方法如下:
$ tar –xvzf make-3.80.tar.gz
其中-z选项使得tar直接调用gunzip(创建归档文件调用gzip)。类似的,-j命令可调用bzip2或bunzip2。
#打包文件
tar czvf testfile.tar.gz testfile
#指定解压到tmp目录
tar xzvf testfile.tar.gz -C /tmp
▪脚本形式:
#!/bin/sbin
cd /tmp
tar zcf testfile.tar.gz ./testfile
[ $? -eq 0 ] && echo ok
★定位命令
●which:命令通过显示工具(或命令)的完整路径来帮助查找该程序
如果本地系统存在多个同名的命令,当输入命令名后,shell将会在设定的搜索路径下查找该命令,然后运行找到后的第一个。
这个时候就可以通过which命令确定运行了程序的哪个副本。
例如:
$ which tar<enter>
/bin/tar
此命令显示了tar工具的位置。
●whereis:在标准路径下搜索与工具相关的文件。
例如:
$ whereis tar<enter>查找tar工具相关文件所在位置
补充:
工具which和whereis只能报告在磁盘上搜索到的命令名,而不能搜索到shell内置命令(shell自带的可执行文件)信息。
在bash下可以通过type内置命令确定命令是不是内置命令。例如: $ type echo<enter>。
●apropos: 搜索关键字
不知道命令的名字时,可使用关键字和apropos工具进行搜索。
例如:$ apropos who<enter> 搜索关键字who,将列出每个命令的名称,包含who关键字的手册页和man页顶部的简单描述信息。
另外,可以用whatis命令搜索与关键字完全匹配的信息。
●slocate: 搜索文件
用于在本地系统搜索文件。
★获取用户和系统信息
●who :列出系统上的用户
工具who可将登录到系统的用户列出。显示结果第一列是用户名,第二列表明每个用户连接的终端、工作站或者模拟器,
第三列表明用户登录的日期和时间。
如果想得到用户正使用的终端或者登录的时间,可使用下面的命令:
$ who am i<.enter>
●finger:列出系统上的用户
使用finger可显示出登录到系统的用户的相关信息。除了显示用户的登录名外,还显示用户连接的终端设备,
用户最近一段时间输入的内容,还有用户所在的位置。
finger后面跟用户名可以获得该用户的更多信息。
w:列出系统上的用户
w工具也可列出登录用户名单,与前面的who工具一样。
显示信息第一列表示用户谁登录到了系统,第二列为每个用户使用的终端设备号,第三列是远程用户登录使用的系统,
第四列为每个用户的登录时间,第五列表明每个用户处于闲置状态的时间,后面两列信息说明每个用户的登录会话和
所运行任务占用的计算机CPU处理时间,最后一列为每个用户正在运行的命令。
★与其他用户通信
●write:发送消息
write工具用来给一个已登录用户发送消息。两个用户通过write发送消息的方式是一种双向通信的方式。
write命令的语法格式如下:
write username[terminal]
其中,username为要进行通信的用户登录名。terminal选项对于多次登录的用户来说很有用。使用who、w或finger都
可显示登录到系统的用户登录名和终端名。
●rmdir:删除目录
例如:$ rmdir /home/alex/dirctoryName<enter>
工具带-r选项可以递归的删除目录,即删除目录中所包含的目录和文件,还有目录本身。
●touch:创建文件
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。
touch命令可以设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)。
参数 作用
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改atime与mtime
例:
touch -d "2018-08-27 11:32" test.cfg
●pwd:显示路径
$ pwd<enter>
/home/alex //路径
●mv/cp 移动/复制文件
mv除了可以对文件进行重命名外,还可以将文件从一个目录移到另一个目录下,可改变文件路径,同时也可改变文件名。
将一个或多个文件移到一个新目录下,例如:
$ mv existing-file-list directory<enter>
将一个目录移动到另一个目录下,例如;
$ mv existing-dirctory-list new-directory
●chmod:改变访问权限
1. 文字设定法
chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r
1. 文字设定法:
例1:$ chmod a+x sort
即设定文件sort的属性为:
文件属主(u) 增加执行权限
与文件属主同组用户(g) 增加执行权限
其他用户(o) 增加执行权限
例2:$ chmod ug+w,o-x text
即设定文件text的属性为:
文件属主(u) 增加写权限
与文件属主同组用户(g) 增加写权限
其他用户(o) 删除执行权限
例3:$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,
即该文件只有其属主具有读写权限。
当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),
所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。
因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,
避免因为某些程序的bug而使系统遭到入侵。
例4:$ chmod a–x mm.txt
$ chmod –x mm.txt
$ chmod ugo–x mm.txt
以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,
然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
●chmod [mode] 文件名
(2)数字设定法:
例1: $ chmod 644 mm.txt
$ ls –l
即设定文件mm.txt的属性为:
-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其他人(o) 拥有读权限
例2: $ chmod 750 wch.txt
$ ls –l
-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
即设定wchtxt这个文件的属性为:
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其他人(o) 没有任何权限
●chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp [选项] group filename¼
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。
文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
例1:$ chgrp - R book /opt/local /book
改变/opt/local /book/及其子目录下的所有文件的属组为book。
●关机poweroff/reboot重启命令(需要root管理员权限)
●wget命令
wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。
wget命令的参数以及作用
参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载
例: wget -r -p https://www.abc.com
●命令后追加&符号,
有些命令在执行时不断地在屏幕上输出信息,影响后续命令的输入,
则可以在执行命令时在末尾添加上一个&。命令将进入系统后台来执行。