网络工程师学Linux 必须掌握命令
———用户管理——
1.useradd 添加用户
命令格式 :useradd [选项] 所添加的用户名称
选项 :
- d 添加用户是指定主目录
例: [root@localhost ~]# useradd -d /yema yema (添加yema用
户并指定目录为 /yema)
- e 指定帐户失效时间YYYY-MM-DD
例: [root@localhost ~]# useradd -e 20080808 test (添加yema用户并
指定该用户使用的过期时间为2008年08月08日)
- g 指定用户的初始化组
例: [root@localhost ~]# groupadd cn51 (新建一个名为cn51的组)
[root@localhost ~]# useradd -g cn51 tom (新建tom 用户并加入
cn51 组)
- G 指定用户归属其他的组名
例:[root@localhost ~]# useradd -g cn51 -G root jack (新建tom用户并
加入 cn51 组同时也加入root组)
- M 创建用户时不自动建立用户主目录
例: [root@localhost ~]# useradd haha –M (新建一个haha 用户 并不
允许其在/home自动生成自己的宿主目录)
[root@localhost ~]# cd /home/ (建完后进入/home)
[root@localhost home]# ls (用ls 查看是否自动建立一haha 目录)
1 jack test tom
- u 指定用户的uid
例: [root@localhost home]# useradd -u 800 yema (新建一个uid 为
800 的 yama用户)
- s 指定用户的登陆shell
例: [root@localhost ~]# useradd -s /sbin/nologin 888 新建一用户并指
定其登陆shell 为nologin
- n 建立用户时不建立默认的组
例: [root@localhost ~]# useradd -n 111 建立一111 用户但并不建立111
这个组
2 。 userdel 删除用户
语法:userdel [选项] 系统已有的用户名
- r 删除用户时并同时删除该用户的宿主目录
例: [root@localhost ~]# userdel -r 888
3.passwd 维护用户密码
- d 清空指定用户的密码
例: [root@localhost ~]# passwd -d root
- l 锁定一个用户帐号
例:[root@localhost ~]# passwd -l jack
- u 解除对指定帐号的锁定
例: [root@localhost ~]# passwd -u jack
-w 设置密码过期警告天数
例: [root@localhost ~]# passwd -w 8 root
-I 设置密码过期后等待天数
例: [root@localhost ~]# passwd -w 8 tom (不能设置root 账户)
-n 设置密码最短修改时间
例: [root@localhost ~]# passwd -n 3 root
-x 设置密码有效时间
4. usermod 修改用户账号相关信息
语法: usermod [-选项] 用户名
选项:
-u 修改UID,-o为强制修改
例: [root@localhost ~]# usermod -u 500 -o 888
-g 修改初始组
例: [root@localhost ~]# usermod -g root tom
-L 锁定帐号
例: [root@localhost ~]# usermod -L tom
-U 解除锁定
例: [root@localhost ~]# usermod -U tom
-l 修改登陆名
例: [root@localhost ~]# usermod -l administrator tom
-s 修改用户登陆shell
例: [root@localhost ~]# usermod -s /sbin/nologin yema
5.groupadd 新建组
命令格式: groupadd [-选项] 组名
选项:
- g 手工指定新建组的gid
例:[root@localhost ~]# groupadd -g 510 testgroup
- o 强制指定新建组的gid
例: [root@localhost ~]# groupadd -g 500 -o testgroup
6.groupmod 修改组
命令格式: groupmod [-选项] 组名
选项:
-g 指定gid
例:[root@localhost ~]# groupmod -g 555 testgroup
-n 指定新组名
例:[root@localhost ~]# groupmod -n newgroup testgroup
7 。 groupdel 删除组
例:[root@localhost ~]# groupdel newgroup 注意:删除一个组,只能删
除空组
--------------进程管理-------------------
1.ps 显示进程信息
x: 显示系统进程和当前用户进程
例: [root@localhost ~]# ps -x
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
PID TTY STAT TIME COMMAND
1 ? S 0:01 init [5]
2 ? SN 0:00 [ksoftirqd/0]
3 ? S< 0:00 [events/0]
4 ? S< 0:00 [khelper]
5 ? S< 0:00 [kacpid]
18 ? S< 0:00 [kblockd/0]
28 ? S 0:00 [pdflush]
ax: 显示所有进程
例:[root@localhost ~]# ps -ax
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
PID TTY STAT TIME COMMAND
1 ? S 0:01 init [5]
2 ? SN 0:00 [ksoftirqd/0]
3 ? S< 0:00 [events/0]
4 ? S< 0:00 [khelper]
5 ? S< 0:00 [kacpid]
18 ? S< 0:00 [kblockd/0]
28 ? S 0:00 [pdflush]
29 ? S 0:00 [pdflush]
31 ? S< 0:00 [aio/0]
aux:显示所有进程及进程的拥有者
例: [root@localhost ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 1996 560 ? S 12:18 0:01 init [5]
root 2 0.0 0.0 0 0 ? SN 12:18 0:00 [ksoftirqd/0]
root 3 0.0 0.0 0 0 ? S< 12:18 0:00 [events/0]
root 4 0.0 0.0 0 0 ? S< 12:18 0:00 [khelper]
root 5 0.0 0.0 0 0 ? S< 12:18 0:00 [kacpid]
root 18 0.0 0.0 0 0 ? S< 12:18 0:00 [kblockd/0]
root 28 0.0 0.0 0 0 ? S 12:18 0:00 [pdflush]
2.Pstree 以树状图显示正在执行的程序
例:[root@localhost ~]# pstree
init-+-acpid
|-anacron
|-atd
|-crond
|-cups-config-dae
|-cupsd
|-dbus-daemon-1
|-events/0-+-aio/0
| |-kacpid
| |-kblockd/0
| |-khelper
| `-2*[pdflush]
|-gdm-binary---gdm-binary-+-X
| `-gdmgreeter
|-gpm
|-hald
|-htt---htt_server
|-khubd
|-2*[kjournald]
|-klogd
|-kseriod
|-ksoftirqd/0
|-kswapd0
|-6*[mingetty]
|-portmap
|-rpc.idmapd
|-rpc.statd
|-scsi_eh_0
|-2*[sendmail]
|-sshd---sshd---bash---pstree
|-syslogd
|-udevd
|-xfs
`-xinetd
3.top 系统性能监视器
命令如:[root@localhost ~]# top 按空格键动态更新按q 键退出
4.kill 终止一个进程
命令如:[root@localhost ~]# kill XXX XXX为系统某个服务的进程号
-9: 强制终止一个进程
命令如:[root@localhost ~]# kill -9 XXX XXX为系统某个服务的进程号
5.hostname 修改主机名
例1 :hostname [root@localhost ~]# hostname 显示主机名
localhost.localdomain
例2 :[root@localhost ~]# hostname yema 修改主机名为yema
6.uname 显示目前的版本等系统讯息
例 :[root@localhost ~]# uname
Linux
7.lsmod 显示当前加载的内核模块
例 : [root@localhost ~]# lsmod
Module Size Used by
parport_pc 24705 1
lp 12077 0
parport 37129 2 parport_pc,lp
autofs4 23237 0
sunrpc 157093 1
8.alias 建立别名
例:[root@localhost ~]# alias 888='ls -l' 此命令意思为给ls –l 这条命令起了个888 别
名 以后我们可以在命令提示符后输入888 就等于我们输入了 ls –l 命令
9.unalias 删除别名
例:[root@localhost ~]# unalias -a 888 -a 表示name 后面跟我们创建过的别名名称
--------------软件包的管理-----------
1 。 RPM最初是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵
循GPL规则且功能强大方便,逐渐受到其他发行版的采用。
rpm命令格式:rpm [-选项] <软件包名>
选项:
-i 安装一个新软件包
-U 升级一个已有软件包,若没有则全新安装
-F 升级一个已有软件包,若没有则放弃安装
-v 显示详细信息
-h 以#号显示安装进度
-e 卸载已安装的rpm包软件,卸载时目标写软件包名+版本号就可以了
--nodeps 安装或卸载软件时不检查依赖关系
--force 强制安装 (如重新安装某个旧版本软件)
示例:
例1 :
[root@localhost ~]# mount /media/cdrom/ 把第二张光盘放入光驱 此条命令是挂载光盘
mount: block device /dev/hdc is write-protected, mounting read-only
[root@localhost ~]# cd /media/cdrom/RedHat/RPMS/ 进入光盘rpm软件包目录
[root@localhost RPMS]# rpm -Uvh httpd-2.0.52-9.ent.i386.rpm 升级安装软件包
warning: httpd-2.0.52-9.ent.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...
(100%########################################### [100%]
package httpd-2.0.52-9.ent is already installed
例二:
[root@localhost RPMS]# rpm -ivh httpd-2.0.52-9.ent.i386.rpm 安装一个新包
warning: httpd-2.0.52-9.ent.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing...
(100%########################################### [100%]
package httpd-2.0.52-9.ent is already installed
选项:
-q 可以查询安装的rpm软件包的相关信息,跟上不同的二级选项决定不同的查
询方式
a 显示所有以rpm包安装的软件
i <软件名> 显示已安装软件的详细信息
l <软件名> 显示已安装软件的各文件位置
f <文件名> 查询一个文件属于哪个软件包
示例:
例1 :
[root@localhost RPMS]# rpm -qf /etc/passwd
setup-2.5.37-1.1rpm
例 2 :
[root@localhost RPMS]# rpm -aq |grep samba
samba-common-3.0.10-1.4E
samba-3.0.10-1.4E
system-config-samba-1.2.21-1
samba-client-3.0.10-1.4E
----------------------网络管理--------------------
1 ifconfig 显示 IP 信息
例:[root@localhost RPMS]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:16:97:E8
inet addr:192.168.250.250 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe16:97e8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:19437 errors:0 dropped:0 overruns:0 frame:0
TX packets:2762 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1599642 (1.5 MiB) TX bytes:367531 (358.9 KiB)
Interrupt:10 Base address:0x1400
2 。 netconfig 配置网卡
[root@localhost RPMS]# netconfig —〉接下来的对话框选yes —〉在相应位置输入你的正确
信息
3./etc/resolve.conf 文件的修改
例:[root@localhost ~]# vi /etc/resolv.conf
nameserver 10.0.0.1 更改DNS
search example.com 更改DNS后缀
4./etc/sysconfig/network
例:[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=linuxos 更改主机名
GATEWAY=10.0.0.1 更改网关
5./etc/sysconfig/network-scripts/ifcfg-* 更改网卡信息
例:[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 设备名称
ONBOOT=yes 是否启用
BOOTPROTO=static 当前状态
IPADDR=192.168.250.250 IP地址
NETMASK=255.255.0.0 子网掩码
GATEWAY=192.168.250.254 网关地址
6.ping 检测主机
例 :[root@localhost ~]# ping 目标主机名称或IP地址 主机名必须是永久的不是临时
更改的
-------------基础指令-----------
1. logout 登出系统 (退出系统命令还有:exit、 Ctrl + d)
2.clear 清屏 (快捷键时 Ctrl+L)
3.su 用户切换
例:[root@localhost ~]# su tom
- :使环境变量和欲转换的用户相同
例:[root@localhost ~]# su - tom
4.date 显示/设定日期时间
例:[root@localhost ~]# date
Sat Mar 5 15:49:06 EST 2005
修改系统时间的格式为:date MMDDhhmmyyyy
例:[root@localhost ~]# date 030417462008
Tue Mar 4 17:46:00 EST 2008
5 。 cal 显示年历或月历
例:显示年历:[root@localhost ~]# cal 2008
例:显示月历:[root@localhost ~]# cal 8 2008 显示2008年8月
6.man 查询指令帮助
man 所要查询的命令
例: [root@localhost ~]# man passwd 查询passwd 命令的帮助
7.ls 就相当于 DOS 的 dir 指令,查看目录、文件列表
命令格式: ls [-选项] [目录或文件]
选项:
-a 显示所有文件,包括隐藏文件
例:[root@localhost ~]# ls -a /etc/ 显示/etc下包括隐藏的所有文件
-l 以长格式显示文件或目录信息
例:[root@localhost ~]# ls -l /etc/
total 3136
-rw-r--r-- 1 root root 15276 Oct 5 2004 a2ps.cfg
-rw-r--r-- 1 root root 2562 Oct 5 2004 a2ps-site.cf
-d 只列出目录
例:[root@localhost ~]# ls -dl /etc/
drwxr-xr-x 75 root root 12288 Mar 5 2005 /etc/
8.touch 创建一个新的空文件
语法:touch 所要创建的文件名
例: [root@localhost ~]# touch 888
9.cp 文件及目录复制命令
命令格式: cp [-选项] <源文件> <目的路径>
选项:
-r 复制整个目录的内容
-i 如果目的地已有同名文件则提示是否覆盖
-f 如果目的地已有同名文件,不提示,强制覆盖
-p 复制完后保持目录的权限值
10.ln 建立文件或目录的链接(软连接、硬连接)
命令格式: ln [-选项] <源文件> <新建连接目标文件>
选项:
-s 只做软连接,可以跨越分区;不带参数表示建立硬连接
11.rm 删除文件或目录
命令格式: rm [-选项] <源文件> <目的路径>
选项:
-i 删除文件或目录的时候提示确认
-r 删除目录
-f 删除文件或目录的时候不提示确认
12.mv 移动文件或目录,更改文件目录名
命令格式: mv [-选项] <源文件> <目的路径>
选项
-i 如果目的地已有同名文件则提示是否覆盖
-f 如果目的地已有同名文件,不提示,强制覆盖
13. cd 切换不同的目录
命令格式: cd <目录名> 绝对路径和相对路径:
示例: cd /boot/grub
cd boot/grub
cd命令中使用特殊含义的目录
cd ~ 回到用户主目录
cd - 回到上一次的目录
cd . 回到当前目录
cd .. 回到上一级目录
14.pwd显示当前目录所在路径
15.mkdir 新建一个目录
命令格式: mkdir [-选项] <目录名>
选项:
-p 建立多级目录
-m 建立目录的时候指定权限
16 。 rmdir 删除目录名,目录必须为空
命令格式: rmdir [-选项] <目录名>
选项:
-p 删除多层目录
-v 删除文件的时候显示信息
17.修改文件的权限值
可以使用3位8进制数表示文件权限对应关系:r=4,w=2,x=1
可以使用字母表示文件归属关系: u=user、g=group、o=other、a=all
增加权限使用+,去掉权限使用-
set位及粘滞位
权限值组合中的第4位数,对应关系:suid=4,sgid=2,粘滞位=1
使用字母表示时对应关系:s=set位,t=粘滞位
set位含义: 设置set位以后,其他用户执行该文件时也会拥有设置该set位用户的对应身
份和权限
粘滞位含义: 设置粘滞位以后,让其他用户无法删除该文件
18.chown 更改文件或目录的拥有者
命令格式: chown [-选项] 用户名:组名 <文件或目录名>
选项
-R 递归,包含其下所有目录、子目录及文件
19.chgrp 更改文件或目录的所属用户组
命令格式: chgrp [-选项] 用户名:组名 <文件或目录名>
选项
-R 递归,包含其下所有目录、子目录及文件
20.cat 查看或连接文件内容
命令格式: cat [-选项] <文件名1> [文件名2] ……
选项:
-b 显示内容时显示行数
-n 显示文件内容时包括所有空行
-s 有多个空行时合并成一个空行显示
21.more 分页显示文件内容(less可以往前翻页)
命令格式: more [-选项] <文件名>
选项:
+数字直接丛给定行数开始显示
-数字 规定每次显示多少行
-s 压缩多个空行
22 。 tail 显示一个文件的末尾几行
命令格式:tail [-选项] <文件名>
选项:
-n <数字> 显示文件末尾指定行数内容,n可以省略
示例:
tail -5 /etc/passwd
23.wc - 统计文件的行、词、字数
24.which
命令格式: which [-选项] <目标文件名>
示例: which ls
25.whereis
命令格式: whereis [-选项] <目标文件名>
选项:
-b 只查找二进制文件
-B <目录> 只在指定的目录下查找二进制文件
-f 不显示文件名前的路径名称
-m 只查找帮助文档文件
-M <目录> 只在指定的目录下查找说明文件
-s 只查找原始代码文件
-S <目录> 只在设置的目录下查找原始代码文件
示例: whereis ls
26.locate (使用updatedb或locate -u命令更新默认数据库)
命令格式: Locate [-选项] <目标文件名>
选项:
-u对整个根目录制作数据库
-e <目录名> 将除指定目录以外所有目录生成数据库
27.gzip 压缩成.gz文件/gunzip 解压.gz文件
命令格式: gzip [-选项] 文件名
选项:
-1 最快压缩速度
-9 最高压缩比例
-r 递归压缩所有指定目录下所有单个文件
-l 显示详细信息
-d 解压缩.gz文件
示例:
gzip -rl ~/MyDocuments
gzip -d MyDocuments.gz
gunzip test.gz
注:
gzip压缩的文件名默认添加.gz扩展名
gzip压缩或解压文件后会缺省删除源文件
gzip只支持对单个文件操作,对目录操作时需结合tar使用
28.bzip2 压缩成.bz2文件/bunzip2解压缩
命令格式:bzip2 [-选项] [文件名]
选项:
-d 解压缩文件
-k 解压后保留原文件
-1 最快压缩速度
-9 最高压缩比例
-s 占用最少内存来压缩
示例:
bzip2 -s install.log
bzip2 -d install.log
bunzip2 -v install.log
29.zip 打包并压缩成.zip文件/unzip解压缩
命令格式: zip [-选项] [文件名.zip] [文件名]
选项:
-d 从压缩文件中删除指定文件
-g 追加指定文件到已有的压缩包中
-u 如果文件比包内的文件新则替换
-r 压缩目录
示例:
zip new1.zip my1.doc
zip -d new1.zip my2.doc
zip -g new1.zip my3.doc
zip -u new1.zip my4*.doc
zip -r new2.zip mydir
unzip new.zip
注:(winrar、winzip均支持.zip格式)
30.tar与gzip/bzip2的结合使用
与gzip结合使用
tar zcvf newtest.tar.gz /home/MyDocuments
tar zxvf newtest.tar.gz -C /home/test/
与bzip2结合使用
tar jcvf newtest.tar.gz /home/MyDocuments
tar jxvf newtest.tar.gz -C /home/test/
31.Shutdown 最基本的关机命令,也是较复杂的关机命令
命令格式: shutdown [-选项] 时间 <提示信息>
选项:
-t< 数字> 延迟指定分钟数时间以后关机
-h 关机后关闭电源
-r 重新启动机器
-f 重新启动的时候跳过磁盘检查
-c 取消将要执行的关机操作
示例:
Shutdown -k now just a kid
Shutdown -h now System shutdown now
32.关机与重启
init
init 0 关机
init 6 重启
reboot 重新启动机器
halt
选项:
-p 关闭机器的时候关闭电源
-w 不做关机操作,只记录日志
poweroff
选项基本与halt相同
-h 关机前将硬盘转入待机模式,清空缓存
34.Fdisk 分割硬盘工具
命令格式: Fdisk [-选项] 分区
注:在真实环境下分区后要执行partprobe命令才会生效
35.Mkfs.ext3 格式化磁盘
命令格式: Mkfs.ext3 [-选项] 分区
注:格式化后的磁盘要自动挂载需把信息写入/etc/fstab文件
36.du 查看文件/文件夹容量大小
命令格式:du [-选项] <文件名或文件夹名>
选项:
-s 只显示目录使用空间的总和
-h 以MB为单位显示容量1MB=1024Bytes
-a 统计所有文件包含子目录
-H 以m为单位显示容量1m=1000Bytes
-c 只计算目录的总用量
示例:
du -sh /etc
37.df 查看指定硬盘分区使用情况
命令格式: df [-选项] <分区>
选项:
-h 以MB为单位显示容量1MB=1024Bytes
-T 列出驱动器的文件类型
示例:
df -h /dev/sda1
df -T /dev/sda1
38.mount 加载设备
命令格式:mount [-t 格式] [设备] [目录]
39 .umount 卸载设备
命令格式:umount [目录名称]
40.cd;eject 弹出光驱
-t 关闭光驱
转载于:https://blog.51cto.com/bhanv/477702