一.Date功能
1.显示完整时间:#date
只显示时间:#date +%T
只显示日期:#date +%F或者#date +%D
只显示小时:#date +%H或者# date +%k
只显示年份:#date +%Y
只显示分钟:#date +%M
只显示秒钟:#date +%S
查看硬件时间:#hwclock
2.修改时间:
只修改时间: #date –s Hour:minute:second
修改日期和时间:#date –s “ Year-month-date Hour:minute:second ”
只修改日期:#date –s “Year-month-date `date +%T` ”
二.文件和目录管理相关命令
1.创建一个空白文件:touch filename
Shell的命令行展开:
/tmp/{a,b}就等于 /tmp/a,/tmp/b
/tmp/{a,b}/c就等于 /tmp/a/c tmp/b/c
touch也可以批量创建文件:
#touch a_b a_c d_b d_c相当于 # touch {a,d}_{b,c}
2.复制文件:
cp sourcefile destinationfile或者cp srcfile…. Dest
-f表示强行复制,不提示信息
-i表示复制时提示
-p复制文件时保留原有的权限模型 ,使用时注意:在管理员模式下可以保留其他用户创建时的权限,但是在其他用户模式下不能保留管理员创建文件时的文件权限。
例如:cp /root/a /tmp/abc
此时要分两种情况:
(1)abc是文件的情况下
如果/tmp目录下原先没有abc,那么直接将a文件复制到/tmp目录下,并命名为abc;如果/tmp目录下原先已经有abc文件,那么会将原abc文件覆盖,名字不变。
(2)abc是目录的情况下
如果abc是/tmp目录下的一个目录,那么,会将a文件直接复制到abc目录之下,如果a也是一个目录,也会将a目录拷贝到abc目录之下,但是要使用参数
cp /root/a –r/R /tmp/abc
注意:如果复制文件时,源文件是多个,那么目标一定是个目录。
3.创建一个目录:
mkdir dirname
-p(parents)可以创建不存在的目录 ,例如:mkdir -p /tmp/m/n/t ,如果m和n目录不存在,也会创建成功,它会先创建m和n,再创建t
-v创建目录时候显示详细信息
4.删除目录或文件:rm rmdir
rmdir:用于删除一个空目录
rm文件删除命令
rm file…一次也可以删除多个文件
-v选项删除时显示详细信息
-i选项删除时显示提示信息
-f强制删除,不提示信息
-r/R递归删除,并且一直有删除提示信息
-rf直接删除,不提示任何信息,
5.移动文件或目录
mv sourcefile destionfile
mv srcfile… dest
例如:mv /root/a /tmp/abc
也分为两种情况:
(1). abc是一个文件
如果abc原先不存在,将文件a移动到/tmp目录之下,重命名为abc,如果abc原先存在,移动后a文件将覆盖原来的abc,并重命名为abc。
(2) .abc是一个目录
如果a也为一个目录,并且abc目录存在,那么会将目录a移动到abc目录之下, 如果abc目录不存在,那么会将a目录移动到/tmp目录之下并重命名为abc。
注:如果源多个文件,那么目标只能为一个目录。
6.如何查看文本文件、分页显示文件内容、指定显示文件内容
(1)cat [option] [file] ...(tac是逆序显示文件内容)
-n对显示的内容加上行号
-E显示文件的结尾
-v显示非打印字符,不显示制表符
-T显示制表符
注:cat不能分页显示文件内容,
(2)分页显示文件内容可以使用more或less命令
more显示的内容只能向下翻屏,不能向上,而less显示的内容既可以向下翻,又能用B键向上翻屏
如:more/less /etc/inittab
(3)head/tail可以显示指定文件的首部和尾部#行,默认情况下显示文件的首10行,或者尾10行
例如:head -# file显示文件内容的首#行
tail -# file显示文件内容的尾#行
7.统计文件字符内容命令
wc:wordcount
wc [options] file
-l统计文件行数
-w统计文件单词数
-c统计字节数
8.剪切显示文件内容命令
cut [OPTION]... [FILE]...
-d指定分隔符 ,后跟具体的分隔符,例如 –d:-d/等
-f指定字段 ,1-6个字段,例如 –f1,-f2 ……
9.排序显示文件内容命令:(不比较数值),区分大小写,默认为升序排序
sort [OPTION]... [FILE]...
-r逆序排序(不对文件本身内容改变,仅仅是将排序内容显示至屏幕上)-n以数值大小比较进行排序
-f不区分大小写排序显示
-u不显示重复的行
10.比较文件中行是否相同命令
uniq [OPTION]... [INPUT [OUTPUT]]
-u只显示唯一出现那次的行
-d只显示重复过的行
-c统计,显示每行重复的次数
注:uniq命令要和sort命令联合使用才可以,例如:sort /etc/inittab | uniq –c
11.在文本中转换、删除字符命令:
tr [OPTION]... SET1 [SET2]
-d删除字符
例如:tr -d ‘aA’
例如:tr ‘abc’ ‘ABC’
三.命令替换: 把一个命令的执行结果当作另一个命令的输入信息来实现,就叫做命令替换。
例如:创建一个以当前时间为文件名后缀命名的文件,形如,myfile-17-24-35.txt
# touch myfile-$(date +%H-%M-%S).txt即可以实现
四.Linux用户管理
1.Linux中有三种用户:管理员,系统用户,普通用户
添加用户:
#useradd username或者adduser username
为用户加密码:
Passwd username此操作只能由root完成
添加一个用户之后,会有三个系统文件发生变化:
/etc/passwd /etc/shadow /etc/group
格式: useradd [options]
-u指定UID
-g指定GID(使用-g选项指定gid时,这个组必须是已存在的。)
-c增加注释信息如:-c " Welcome ...... "
-d指定家目录路径
-s指定shell目录
-G为用户指定附加组(可以有多个
-r username添加此用户为系统用户
2.passwd命令: 修改账户的登陆密码,使用权限是所有用户
Passwd [option] username
-l锁定用户账号
-u解除用户账号的锁定状态
-n #指定密码最短使用期限
-x #指定密码最长使用天数
-w#指定密码过期前的警告期限
-i #指定密码过期的宽限时间
3.id命令:查看用户ID信息
id [OPTION]... [USERNAME]
# id显示用户id的详细信息
-u显示用户ID
-g显示用户实际的组ID
-G显示用户所有的组ID,包括附加组
4.usermod命令 ,修改用户属性
usermod [options] LOGIN(账户名称)
-u修改用户UID
-g修改用户GID
-a -G追加一个组的附加组
-c修改注释信息
-d修改家目录(-m -d修改后家目录中文件不丢失)
-s修改shell目录
-l修改用户名
5.userdel groupadd groupmod gpasswd命令
userdel username删除用户
-r username递归删除,可以删除用户家目录
groupaddgroupname增加组
-g gid groupname为增加的组指定组ID
-r groupname添加此组为系统组
groupmod修改组信息
-g修改组ID
-n修改组名形如:groupmod –n newgroupname oldgroupname
gpasswd为组增加密码
gpasswd groupname