命令使用格式:命令名 [OPTIONS] [FILE]...
查阅文件内容:
1、直接查看文件内容:
(1)cat:可以显示多文件的全部内容(concatenate)
eg.cat /etc/rc.d./rc.sysinit /etc/inittab
OPTIONS(参数):
-n:对显示的内容加上行号
-E:显示行结束符($)
-v:显示非打印字符
-T:显示制表符
(2)tac:以倒序的方式显示文件的全部内容(与tac用法类似只是显示的方式恰好相反)
2、翻页查看文件的内容:
(1)more:一页一页的翻动文件内容
用法:more FILENAME
(2)less:一页一页的翻动文件内容(用法和more类似)
more和less的区别:当翻页到文件末尾时,more命令是直接退出;但less命令不直接退出,而是按下q键才会退出。
下面是在用more、less查看文件内容时常用到的几个键:
space:向后翻一页
b:向前翻一页
【Enter】:向后翻一行
k:向前翻一行
/patten:搜索指定字符串(由上向下搜索)
?patten:搜索指定字符串(由下向上搜索)
N/n:向上/下搜索下一个字符
3、选取着查看文件数据
(1)head:取出文件内容的前几行(默认是10行)
OPTIONS主要用到:
-[n ]number FILE代表显示前面几行;(n可有可无)
eg.head -5 /etc/init.d/functions
(2)tail:取出文件内容的后几行(默认是10行)
OPTIONS主要用到:
-n number 代表显示前面几行(这一个选项与head类似;)
eg.tail -5 /etc/init.d/functions
-f:表示持续检测后面所接的文件的内容,要等到按下【Ctrl】+c键才会结束检测。
wc:(words counter)既不查看也不交互,只是查看文件有多少行,多少个单词,多少个字符
eg.wc /etc/init.d/functions
-l:只显示文件有多少行数
-w:只显示文件有多少单词数
-c:只显示文件有多少字节数/字符数
cut:以指定的字符为分割符将文件中的每一行切割成多个字段,并可以显示指定字段
-d:(默认分割符是空白符)设置分割符
-f:设置以第几个字段开始切割
eg.cut -d: -f1,3 /etc/passwd
sort:排序(不比较数值,而是根据ASCII码,默认按升序排序)
-r:逆序排序
eg.sort -r /etc/passwd
-n:以数值的大小进行排序
-u:排序后去除相同行
-f:不区分字母大小写
uniq:(对文件排序后才能进行比较)比较两行是否一样,前提是这两行必须挨着
-u:表示只显示不重复的行
-d:只显示重复的行,只显示一次
-c:显示这一行出现过几次
eg.sort /etc/init.d/functions | uniq -c
tr:转换或删除字符
tr SET1 SET2:把文件中出现SET1的都换成SET2
tr -d SET1:把文件中出现的SET1删除
eg.tr 'a-z' 'A-Z' < /etc/passwd
与用户管理相关的命令:
useradd :添加一个用户
#useradd USERNAME
#passwd [USERNAME]
-u:指定UID
-g:指定GID(这个组必须事先存在)
-c:注释说明 -c "string"
-d PATH:指定家目录,这个家目录事先是不存在的
-s SHELL:指定shell
-G grp1,grp2,....:指定附加组,附加组在/etc/group
-M:不创建家目录
-D:设置默认值(-d -s)
-r:为用户添加系统用户
eg.注意:在给用户设置属组、附加组时,这些组必须事先存在
id:查看用户属性信息 eg:id USERNAME
finger:检索用户信息 eg.finger USERNAME
chfn:change finger(-f:修改全名)
chsh:change shell
usermod:
-u: -g: -c: -s:
-d:(原家目录内的文件没有了可以使用-m -d) 指定的家目录事先不能存在
-G:
-a -G:
-l NEWLOGNAME:改用户名
-L:
-U:
-e:指定失效时间(即用户最长使用时间)
chage:改变用户过期时间
-m:(和passwd的-n)
-M:(和passwd的-X)
userdel:删除用户(默认不会删除家目录)
-r:可以删除用户的家目录
groupadd
-g:
-r:把此组添加成系统组
groupmod:
-n NEWGRPNAMW:改组名
-g:
groupdel:
gpasswd:给组加密码
gpasswd GROUPNAME
newgrp:登录到另一个组里面去
Eg.newgrp redhat(把redhat作为基本组)
passwd:
-l:锁定指定用户帐号
-u:解锁用户帐号的锁定
-n:最小使用期限
-x:最大使用期限
--sttin:可以使用管道直接给passwd传递一个字符串指定用户密码
Eg.echo redhat | passwd --stdin gentoo
pwck:passwdcheck,检查passwd文件的完整性(eg.每个用户的密码是否在有效期内)
ls :列出目录内容
ls [OPTIONS]... [FILE]...
-l :列出文件的相信属性信息
eg.ls -l
-h:对显示出来的文件大小信息做单位换算
-a:显示隐藏文件
(.当前目录 ..当前目录的父目录)
-d:显示目录自身的相关信息
eg.ls -ld /root/
-r:逆序显示文件中的内容
-R:递归显示子目录中的内容
eg. ls -R /root
-L:
-i:显示文件节点号
-Z:显示文件的安全上下文标签的
file FILEPATH :判断文件内容类型
文件和目录管理相关的命令:
stat:显示文件或文件系统的状态(stat FILENAME)
touch:改变文件的时间标签;如果后接的文件不存在,则创建空白文件
touch [FILENAME]
-a:只改变最近一次访问时间
-m:只改变最近一次修改时间
-t :use [[CC]YY]MMDDhhmm[.ss] instead of current time
eg.touch -a -t02061812.26 a
-c:如果后接的文件不存在,则不创建该文件
复制文件:cp
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
-T:把目标当成普通文件存在
-t:目标必须是个目录
-p:保留文件原有属性
-f:强制复制
-i:任何覆盖时会提示
-r:复制目录
-a=-rp
Eg.(1)把/root/a复制到 /tmp/abc,a是文件:
abc 不存在:复制过去并命名为abc
abc 存在并且是个文件:复制过去并覆盖abc
abc 存在并且是个目录:复制到目录abc中,并保留原名a
(2)把/root/a与 /root/b 复制到/tmp/abc中,a、b是文件:
abc 不存在:复制不能成功
abc 存在并且是个文件:复制不能成功
abc 存在并且是个目录:复制到目录abc中,并保留原名a、b
su: switch user
su -l USERNAME:完全切换到一个用户
su - USERNAME:完全切换到一个用户
su USERNAME:半切换到一个用户,保留了原来用户的环境设置
创建空目录:mkdir
-v:(verbose)每次创建目录时显示一条信息
-p:(parents)父目录不存在时先创建父目录
eg.mkdir -p /tmp/a/b/c(a、b、c之前都不存在)
rmdir:删除空目录
rm:文件删除命令
-f :强行删除,不提示
-i :删除时有提示
-r:删除目录
mv:移动文件或目录
mv SOURCE DEST
-f :强行移动,不提示
-i :移动时有提示
eg.mv /root/a /root/b
b不存在则是重命名
b存在并且是文件,则覆盖
b在是目录,则移动到了b目录下
tree:显示目录中文件结构