常见的命令(下)

用户管理命令

  1. useradd 添加新的用户账号
1
2
3
4
5
# useradd –d  /home/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录 /home/sam(/home为默认的用户主目录所在的父目录)。

# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是 /bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。
  1. userdel 删除一个已有的用户账号
1
2
userdel -r sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
  1. usermod 修改一个已有的用户账号
1
2
3
4
常用的选项包括-d,-m,-g,-G,-s,-u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
  1. passwd 修改密码
1
2
3
4
5
6
7
8
9
10
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
假设当前用户是sam,则下面的命令修改该用户自己的口令:
$ passwd
如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd sam
为用户指定空口令时,执行下列形式的命令:
# passwd -d sam
  1. who
    显示用户信息。(登录用户名 登录终端-远程或本地 登录时间 登录主机的IP地址)

  2. W
    显示的用户信息更加详细。

文件搜索命令

  • find
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
find / -name init
在/目录下查找名字为init的文件或目录。名字必须相同。
find / -name *init*
在/目录下查找名字中存在init的文件或目录。
find / -name init???
在/目录下查找名字开头是init后面还有三字符的文件或目录。
name 严格区分大小写, iname不区分。

find / -size +204800
— 小于 +大于 不写是等于
在/目录下查找大小比100MB大的文件或目录,单位为0.5kB。

find / -user name
在/目录下查找所有者为name的文件或目录。

find / -cmin -5
-amin 访问时间变化 +n 是超过n分钟的
-mmin 修改过内容 -n 是在n分钟之内的
在/目录下查找5分钟内修改过属性的文件或目录。

find / -size +163840 -a -size -204800
-a 并且的意思 -o或者
在/目录下查找大于80MB小于100MB的文件或目录。

find / -type f
d 文件 l 软链接
在/目录下查找的类型为目录。
find / -type f -a -name init*
在/目录下查找名字为init开头的目录。

find / -type f -size 0 -exec ls -l {} \;
-exec (ls -l) {} \; 对搜索的结果进行信息列表。
-ok 会询问是否继续执行。
在/目录下查找大小为0的目录,并把这些目录的信息列表出来

ls -i
393370 markdown.md
find / -inum 393370
根据i节点进行查找。
  • locate

它是建了一文件资料库,并且会定期更新。搜索时是在资料库里查找,不是实时全局查找。

1
2
3
4
5
6
7
locate 文件名   查找时也区分大小写。
刚新建的文件和目录没有更新到资料库,因此查找不到。
updatedb
更新后才能查到。
如果文件存放的目录并不会被资料库收集时,也是查不到哦。

-i 加上时不区分大小写。
  • which

搜索命令所在目录及别名信息。

  • whereis

搜索命令所在目录及帮助文档路径。

1
2
$ whereis cp
cp: /bin/cp /usr/share/man/man1/cp.1.gz
  • grep

grep 字符串 文件
在文件中搜索字串匹配的行并输出。

1
2
3
4
5
-i  不区分大小写
grep -i mysql /root/install.log
-v 排除指定字串
grep -v ^# /root/install.log
排除开头为#的行。

帮助命令

  • man
    查看命令和配置文件的帮助信息。
1
2
man ls
man services 配置文件名称,不使用绝对路径。
  • whatis
    查看命令的简短信息,知道是什么。

  • apropos
    只查看配置文件的简短信息,知道是什么。

  • help
    命令 --help
    显示一些命令常见的用法。
    help 内置命令

1
2
查看shell内置命令的信息
help umask
  • date
    查看系统的当前时间。
1
2
date 03 14 10 27 2014.18   -设置系统时间
月 日 时 分 年 秒

压缩解压命令

  • gzip
1
2
3
gzip 文件
压缩后的文件为.gz 压缩后无源文件
只压缩文件不压缩目录。
  • gunzip
1
gunzip  压缩文件,压缩比较大
  • tar
1
2
3
4
5
6
7
8
9
10
11
12
13
压缩:
-z 打包同时压缩
-v 显示详细信息
-f 指定文件名
-c 打包
tar -zcf japan.tar.gz japan
打包压缩Japan文件生成japan.tar.gz
解压:
-z 解压缩
-v 显示详细信息
-f 指定压缩文件名
-x 解包
tar -zxvf japan.tar.gz
  • zip 压缩比较小
1
2
3
4
5
6
压缩:
zip boduo.zip boduo
zip -r japan.zip japan
-r 加上可以压缩目录,不加压缩文件 压缩后有原文件
解压缩:
unzip boduo.zip
  • bzip2 压缩比较大
1
2
3
4
5
bzip2 -k  boduo   保留原有文件
tar -cjf japan.tar.bz2 japan

bunzip2 -k boduo.tar.bz2 解压缩后保留原文件
tar -xjf japan.tar.bz2