root 123456
虚拟机快捷键
Ctrl + G 进入虚拟机
Ctrl + Alt 切换主机和虚拟机
Ctrl + Alt + Enter 切换全屏
清屏:clear 或者 Ctrl + l
查看指令帮忙命令:指令 --help
查看文件大小命令:du -sh 目录或文件
虚拟机配置网络
查看网络配置命令: ifconfig
推荐桥接模式:ifconfig eth0 192.168.3.9 配置虚拟机的IP地址为:192.168.3.2 (临时生效,永久查看笔记2 IP地址配置)
eth0: 使用第一个虚拟网卡
192.168.3.9: 需要和主机同一个网段,我的主机是192.168.3.2
最后在主机用ipconfig 192.168.3.9查看主机和虚拟机是否互通
常用命令
命令 [-选项] [参数]
例如:ls -la /etc
一、目录处理命令
1. 显示目录文件: ls
原意:list
语法:ls [-选项] [文件或者目录]
ls -a 即all 显示所有文件,包括隐藏文件
ls -l 即long 显示详细信息,和ll命令一样
ls -lh 即human 显示详细信息(人性化,比如文件大小原本默认是字节12500,可以显示12K)
ls -d 即dir 查看目录信息
ls -i 即inode 查看文件ID号
rwx rwx rw-
u g o
u所有者,g所属组,o其他人
r读,w写,x执行
2. 创建新目录: mkdir
原意:make directories
语法:mkdir [-选项] [目录名]
mkdir -p /tmp/Japan/boduo -p 递归创建
mkdir -p /tmp/Japan/boduo /tmp/Japan/longze 递归创建多个目录
3. 切换目录: cd
原意:change directory
语法:cd [目录]
cd /tmp/Japan/longze 切换到指定目录
cd .. 切换到上级目录
4. 显示当前目录: pwd
原意:print working directory
5. 复制文件或目录: cp
原意:copy
语法:cp -rp [原文件或目录] [目标目录]
-r 复制目录,-p 保留文件属性。可任选一个或者两个选项都有
cp -rp /tmp/Japan/boduo /root 将boduo目录复制到root目录底下,并且保持目录属性
cp -r /tmp/Japan/boduo /root/boduo1 复制boduo目录到/root底下,并且改名成boduo1
6. 剪切文件、改名: mv
原意:move
语法:mv [原文件或目录] [目标目录]
mv /tmp/Japan/boduo /tmp/Japan/longze /root 将boduo以及longze剪切到目录/root中
mv /tmp/Japan/boduo /root/boduo1 将boduo剪切到目录/root中,并且改成成boduo1
mv boduo boduo1 相当于改名,即剪切到当前目录
7. 删除空目录: rmdir
原意:remove empty directories
语法:rmdir [目录名]
8.删除文件:rm
原意:remove
语法:rm -rf [文件或者目录]
-r 删除目录,-f 强制执行(不会询问是否删除)
tips:
- 删除多个文件: rm -rf 文件1 文件2 文件3
二、文件处理命令
1. 创建空文件: touch
语法:touch [文件名]
touch /tmp/yebin.list 在/tmp目录下创建文件yebin.list
2. 显示文件内容: cat
语法:cat [-选项] [文件名]
-n 显示内容行号
cat -n /tmp/yebin.list 查看yebin.list文件内容,有显示内容行号
3. 显示文件内容(反向显示): tac
语法:tac [文件名]
tac /tmp/yebin.list 从结尾向上展示文件内容
4. 分页显示文件内容: more
语法:more [文件名]
(空格或f) 翻页
(Enter) 换行
q或者Q 退出
more /etc/services
5. 分页显示文件内容(可向上翻页): less
语法:less [文件名]
除了 more功能外
pageUp 上翻页
pageDown 下翻译
键盘方向键上 上一行
键盘方向键下 下一行
q或者Q 退出
/关键字 可进行查找,n(next)键盘寻找命中的下一处,N上一处
less /etc/services
如果想查询service关键字 可进行/services输入
6. 显示文件前几行: head
语法:head [文件名]
-n 指定行数 如果未指定行数默认显示10行
head -n 20 /etc/services
7. 显示文件后几行: tail
语法:tail [文件名]
-n 指定行数
-f 动态显示文件末尾内容(常用,查看日志)
tail -n 18 /etc/services
8. 生成连接文件: ln
原意:link
语法:ln -s [原文件] [目标文件]
-s 创建软连接(类似windown快捷方式)
ln -s /etc/issue /tmp/issue.soft
ln /etc/issue /tmp/issue.hard
ls -l 后
lrwxrwxrwx. 1 root root 10 10月 1 01:00 issue.soft -> /etc/issue
-rw-r--r--. 2 root root 47 6月 26 2012 issue.hard
软链接说明:lrwxrwxrwx l代表是链接,rwxrwxrwx表示所有人所有群组都有权限执行链接,但是真实的权限由目标文件/etc/issue决定
硬链接说明:
1.类似拷贝 cp -p + 内容同步更新
2.通过i节点识别。即原文件和硬链接文件 共同使用一个id所以才会同步更新(ls -i查看)
3.不能跨分区(类似windown的C盘文件复制到D盘效果一样)
4.不能针对目录使用(原文件不能是目录)
三、权限管理命令
1. 改变文件或者目录权限: chmod
原意:change the permissions mode of a file
执行权限:root或者文件所有者
语法:chmod [{ugoa}{+-=}{rwx}] [文件或者目录]
[mode=421] [文件或目录] r=4,w=2,x=1
-R 递归
说明:u所有者 g所属组 o其他人 a所有人
例如:
ls -l /tmp/Japan/yebin.list
-rw-r--r--. 1 root root 29 9月 30 05:08 yebin.list
1.对所有者进行添加执行权限:chmod u+x yebin.list 或者 chmod 744 yebin.list
2.不管原先所属组的权限,只想把所属组权限变成rwx: chmod g=rwx yebin.list 或者 chmod 674 yebin.list
权限总结:
| 代表字符 | 权限 | 对文件的含义 | 对目录的含义 |
|---|---|---|---|
| r | 读权限 | 可以查看文件的内容(cat/more/less/head/tail) | 可以列出目录中的内容(ls) |
| w | 写权限 | 可以修改文件的内容(vim) | 可以在目录中创建,删除文件(touch/mkdir/rmdir/rm) |
| x | 执行权限 | 可以执行文件(javascript/command) | 可以进入目录(cd) |
题外:创建用户yebin: useradd yebin passwd yebin
2. 改变文件或者目录的所有者: chown
原意:change file ownership
语法:chown [用户] [文件或目录]
-rw-r--r--. 1 root root 0 10月 1 02:31 a.list
进行文件所有者变更之后 chown a.list yebin
-rw-r--r--. 1 yebin root 0 10月 1 02:31 a.list
3. 改变文件或者目录的所属组: chgrp
原意:change file group ownership
语法:chgrp [用户组] [文件或目录]
题外:新增一个用户组1: groupadd group1
-rw-r--r--. 1 yebin root 0 10月 1 02:31 a.list
对文件所属组变更 chgrp group1 a.list
-rw-r--r--. 1 yebin group1 0 10月 1 02:31 a.list
4. 显示、设置文件的缺省权限: umask
原意:the user file-creation mask
语法:umask [-S]
-S 以rwx形式显示新建文件缺省权限
umask -S
u=rwx,g=rx,o=rx
即新建的文件夹默认缺省权限就是上述,新建的文件则没有x -> u=rw-,g=r--,o=r--
数字形式:执行 umask 077
最终缺省权限:
777 rwx rwx rwx
077 --- rwx rwx
---------------
rwx --- --- 目录
rw- --- --- 文件(文件默认都是没有x)
四、文件搜索命令
1. 文件搜索命令: find
注意:不要在服务器高峰期使用find命令(因为实时,消耗资源多),搜索范围越小越好
语法:find [搜索范围] [匹配条件]
-name 按照名称(iname不区分大小写)
-size 按照大小:+n大于,-n小于,n等于
-user 按照所有者
按照时间范围:[-选项] [+-]分钟
-amin 访问时间;-cmin 文件属性;-mmin 文件内容
-type 按照文件类型:f 文件;d 目录;l 软链接
-inum 根据i节点查找(ls -i 即inode 查看文件ID号)
技巧:
- -a 两个条件同时满足;-o 两个条件任意满足一个(and,or)
- -exec/-ok ls -l {} ; 查询到结果并且对搜索结果执行操作(这里是ls -l), -ok会对每个查询结果执行之前进行一次询问
1. 根据名称查询:
find /etc -name init 在/etc目录下精确查询init文件
find /etc -name *init* 模糊查询
find /etc -name init??? 以init开头结尾3个字符的文件
find /etc -iname init??? 以init开头结尾3个字符的文件,文件不区分大小写
2. 根据大小查询:
find / -size +204800 在根目录查找大于100MB的文件(默认大小是0.5K,所以100MB = 204800)
find / -size +100M 直接用单位表示可以可以,k(字节,小写),M,G,
3. 根据所有者查询
find / -user yebin
4. 根据时间范围
find /etc -cmin -30 在过去30分钟内被修改过属性的文件和目录
5. 根据类型查询
find /etc -type f
6. 根据节点查询
find /root -inum 262149
技巧:
1. find /etc -name init -a -type f 在/etc目录下精确查询init文件并且是文件
2. find /etc -inum 262149 -exec rm {} \; 在/etc目录下查询节点为262149的文件并且删除文件
总结:
find [范围] [{-name,-iname,-size,-user,group,-type,-inum,.....}] [关键字/数值] [{-exec,-ok}] [命令] {} \;
2. 文件搜索命令: locate(类似Everything)
说明:在文件资料库中查找文件
优点:基于/var/lib/mlocate/mlocate.db查询,速度快,不占用资源,可以用来查询系统的一些文件
缺点:
- 不会实时,比如 touch /root yebin.list 不会实时刷新,需要手动调用updatedb命令(普通用户无权限)进行更新。
- /tmp 缓存目录不生效,即/tmp目录不在locate收录范围之内
**语法:locate [匹配条件] **
-i 可以忽略大小写
[root@localhost ~]# locate -i yb.text
/root/Yb.text
/root/yb.text
3. 搜索命令所在目录以及别名信息: which
语法:which 命令
[root@localhost ~]# which cp
alias cp='cp -i'
/bin/cp
4. 搜索命令所在目录以及帮助文档路径: whereis
语法:whereis 命令
[root@localhost ~]# whereis find
find: /bin/find /usr/bin/find /usr/share/man/man1p/find.1p.gz /usr/share/man/man1/find.1.gz
[root@localhost ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz
说明:1命令文件的帮助,5配置文件的帮助
5. 在文件中搜寻字串匹配的行并输出: grep
语法:grep -iv [指定字串] [文件]
-i 不区分大小写
-v 排除指定字串
技巧:-v这个可以用来查看一些配置文件或者shell脚本。屏蔽字串所在的行,注释一般都是 #开头,所以 ^#
1. -i用法
[root@localhost ~]# grep -i imagepump /etc/services
imagepump 27345/tcp # ImagePump
imagepump 27345/udp # ImagePump
说明:在/etc/services文件中查询字符imagepump,不区分大小写,并且所在行内容打印出来
2. -v用法
[root@localhost ~]# grep -v ^# /etc/inittab
id:3:initdefault:
五、帮助命令:
说明:如果想查看命令的帮助信息,先用which 命令查看一下是系统的还是Shell命令。
例如:
[root@localhost ~]# which cd
/usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
说明 cd是不是系统命令,需要用 help cd来进行帮助信息查看
1. 获得帮助信息: man
原意:manual -- 手册
语法:man [命令或者配置文件]
man ls
说明:会展示ls命令的说明信息,操作和less命令相同
man services
说明:services配置文件不能写成/etc/services,即不要写绝对路径
[root@localhost ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz
说明:1命令的帮忙,5配置文件的帮忙
执行 man passwd后,默认展示的是命令的帮助,想要展示passwd配置文件的帮助 需要执行 man 5 passwd
小技巧:
-
whatis 命令 -- 只查看命令简短的信息: whatis lis
-
apropos 配置文件 -- 只查看配置文件的简短信息: apropos inittab
-
命令 --help -- 查看命令选项(常用): find --help
查看系统时间命令帮助文档:man date NAME date - print or set the system date and time SYNOPSIS date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 如果想修改系统时间:date [MMDDhhmm[[CC]YY][.ss]] 说明:前面是时区不用管,[MMDDhhmm[[CC]YY][.ss]] 月日时分年.秒 --> date 100302142025.15
2. 获取Shell内置命令的帮助信息: help
语法:help 命令
help umask
六、用户管理命令
1. 添加新用户: useradd
语法:useradd 用户名
tips: root才有权限
useradd yebin
2. 设置用户密码: passwd
语法:passwd 用户名
tips: root写法,如果当前登陆人是普通用户比如yebin,只要 passwd即可
3. 查看用户登录信息: who
语法:who
[root@localhost ~]# who
root tty1 2025-10-04 07:56
root pts/0 2025-10-04 08:00 (192.168.3.66)
yebin pts/1 2025-10-04 08:01 (192.168.3.66)
说明:登录用户名 登录终端(tty本地登录,pts远程登录) 登录时间 登录IP
4. 查看登录用户详细信息: w
语法:w
[root@localhost ~]# w
00:23:25 up 27 min, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 07:56 ? 0.01s 0.01s -bash
root pts/0 192.168.3.66 08:00 0.00s 0.04s 0.00s w
yebin pts/1 192.168.3.66 08:01 ? 0.01s 0.01s -bash
第一行相当于 uptime命令:当前系统时间,运行了27分钟,负载情况
IDLE:空闲时间
JCPU:累计占用CUP时间
PCPU:当前执行命令占用CUP时间
WHAT:执行什么命令
七、压缩解压命令
1. 压缩文件: gzip
语法: gzip [文件]
压缩后格式: .gz
tips:
- 不保留原文件
- 不能压缩目录
[root@localhost tmp]# cp /etc/services /tmp/boduo
[root@localhost tmp]# ls -lh
总用量 628K
-rw-r--r--. 1 root root 626K 10月 4 00:42 boduo
[root@localhost tmp]# gzip boduo
[root@localhost tmp]# ls -lh
总用量 128K
-rw-r--r--. 1 root root 125K 10月 4 00:42 boduo.gz
2. 解压.gz文件: gunzip 或 gzip -d
语法: gunzip [压缩文件]
例如:gunzip boduo.gz
3. 打包目录: tar
语法: tar 选项[-zcf] [压缩后文件名] [目录]
-c 打包
-v 显示详细信息
-f 指定文件名
-z 打包同时压缩
压缩后格式: .tar.gz
例如:tar -zcf Sanguo.tar.gz Sanguo
tips: 可以用来对目标目录进行备份
[root@localhost tmp]# cd Sanguo/
[root@localhost Sanguo]# ll
总用量 8
drwxr-xr-x. 2 root root 4096 10月 4 01:03 Sanguo1
drwxr-xr-x. 2 root root 4096 10月 4 01:03 Sanguo2
[root@localhost Sanguo]# cd ..
[root@localhost tmp]# ll
总用量 4
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
[root@localhost tmp]# tar -zcf Sanguo.tar.gz Sanguo
[root@localhost tmp]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 136 10月 4 01:05 Sanguo.tar.gz
4. 打包目录解压: tar
语法: tar 选项[-zcf] [压缩文件名]
-x 解包
-v 显示详细信息
-f 指定文件名
-z 解压缩
例如: tar -zxvf Sanguo.tar.gz
[root@localhost tmp]# ll
总用量 4
-rw-r--r--. 1 root root 136 10月 4 01:05 Sanguo.tar.gz
[root@localhost tmp]# tar -zxvf Sanguo.tar.gz
Sanguo/
Sanguo/Sanguo2/
Sanguo/Sanguo1/
[root@localhost tmp]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 136 10月 4 01:05 Sanguo.tar.gz
5. 压缩文件: zip
语法: zip 选项[-r] [压缩后文件名] [文件或目录]
-r 压缩目录
压缩后格式: .zip
tips:
- Windows以及Linux通用格式.zip
- 会保留原文件
- 文件和目录都支持,目录 -r选项即可解决
例如:
- 压缩文件: zip yb.zip yebin.list
- 压缩目录: zip -r Sanguo.zip /tmp/Sanguo
[root@localhost tmp]# ll
总用量 4
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 0 10月 4 01:21 yebin.list
[root@localhost tmp]# zip yebin.zip yebin.list
adding: yebin.list (stored 0%)
[root@localhost tmp]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 0 10月 4 01:21 yebin.list
-rw-r--r--. 1 root root 170 10月 4 01:21 yebin.zip
[root@localhost tmp]# zip -r Sanguo.zip Sanguo
adding: Sanguo/ (stored 0%)
adding: Sanguo/Sanguo2/ (stored 0%)
adding: Sanguo/Sanguo1/ (stored 0%)
[root@localhost tmp]# ll
总用量 12
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 480 10月 4 01:22 Sanguo.zip
-rw-r--r--. 1 root root 0 10月 4 01:21 yebin.list
-rw-r--r--. 1 root root 170 10月 4 01:21 yebin.zip
6. 解压.zip文件: unzip
语法: unzip [压缩文件]
例如:unzip test.zip
7. 压缩文件: bzip2 (gz升级版)
语法: bzip2 选项[-k] [文件]
-k 产生压缩文件后是否保留原文件
压缩后格式: .bz2
例如:
- bzip2 -k yebin.list 文件
- **tar -cjf Sanguo.tar.bz2 Sanguo ** 目录
[root@localhost tmp]# bzip2 -k yebin.list
[root@localhost tmp]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 0 10月 4 01:21 yebin.list
-rw-r--r--. 1 root root 14 10月 4 01:21 yebin.list.bz2
[root@localhost tmp]# tar -cjf Sanguo.tar.bz2 Sanguo
[root@localhost tmp]# ll
总用量 12
drwxr-xr-x. 4 root root 4096 10月 4 01:03 Sanguo
-rw-r--r--. 1 root root 141 10月 4 01:45 Sanguo.tar.bz2
-rw-r--r--. 1 root root 0 10月 4 01:21 yebin.list
-rw-r--r--. 1 root root 14 10月 4 01:21 yebin.list.bz2
8. 解压.bz2文件: bunzip
语法: bunzip2 选项[-k] [压缩文件]
-k 解压文件后是否保留原文件
例如:
- bunzip2 -k yebin.list.bz2 文件
- **tar -xjf Sanguo.tar.bz2 ** 目录
八、网络命令
1. 不常用: write,wall,mail
- write 给其他用户发信息
- wall 给所有用户发信息(广播信息)
- mail 给其他用户发邮件
2. 测试网络连通性: ping
语法: ping 选项[-c 次数] [IP地址]
-c 指定发送次数
例如:
- ping 192.168.3.1
- **ping -c 5 192.168.3.1 **
3. 查看和设置网卡信息: ifconfig
原意:interface configure
语法:ifconfig 网卡名称 IP地址
例如:ifconfig eth0 192.168.3.9
[root@localhost tmp]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:69:AD:8E
inet addr:192.168.3.9 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe69:ad8e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4675 errors:0 dropped:0 overruns:0 frame:0
TX packets:1982 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:422810 (412.9 KiB) TX bytes:207518 (202.6 KiB)
Interrupt:19 Base address:0x2000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:32 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2276 (2.2 KiB) TX bytes:2276 (2.2 KiB)
说明:
1. eth0是固定网卡,lo是回环网卡
2. Link encap:Ethernet 以太网
3. HWaddr 00:0C:29:69:AD:8E 网卡Mac地址
4. inet addr:192.168.3.9 本机IP地址
5. Bcast:192.168.3.255 广播地址
6. Mask:255.255.255.0 子网掩码又叫网络掩码
4. 列出目前与过去登入系统的用户信息: last
语法: last
tips:
- 可以查看系统重启时间:reboot system boot 2.6.32-279.el6.i Wed Oct 1 00:52 - 02:29 (3+01:37)
[yebin@localhost ~]$ last
yebin pts/3 192.168.3.66 Sat Oct 4 02:29 still logged in
root pts/2 192.168.3.66 Sat Oct 4 02:29 still logged in
yebin pts/1 192.168.3.66 Sat Oct 4 08:01 still logged in
root pts/0 192.168.3.66 Sat Oct 4 08:00 still logged in
root tty1 Sat Oct 4 07:56 still logged in
reboot system boot 2.6.32-279.el6.i Sat Oct 4 07:56 - 02:29 (-5:-26)
root pts/0 192.168.3.66 Fri Oct 3 06:47 - crash (1+01:08)
root tty1 Fri Oct 3 06:46 - crash (1+01:10)
reboot system boot 2.6.32-279.el6.i Fri Oct 3 06:42 - 02:29 (19:46)
yebin pts/1 192.168.3.66 Wed Oct 1 02:44 - 03:16 (00:31)
root pts/0 192.168.3.66 Wed Oct 1 00:59 - 03:16 (02:17)
root tty1 Wed Oct 1 00:55 - crash (2+05:47)
reboot system boot 2.6.32-279.el6.i Wed Oct 1 00:52 - 02:29 (3+01:37)
root pts/1 192.168.3.2 Tue Sep 30 05:36 - 05:37 (00:01)
root pts/0 192.168.3.2 Tue Sep 30 04:06 - crash (20:45)
root pts/1 192.168.3.2 Tue Sep 30 02:46 - 04:21 (01:35)
root pts/0 192.168.3.2 Tue Sep 30 02:42 - 03:02 (00:19)
root tty1 Tue Sep 30 02:40 - crash (22:11)
reboot system boot 2.6.32-279.el6.i Tue Sep 30 02:39 - 02:29 (3+23:49)
root pts/0 192.168.3.2 Mon Sep 29 05:28 - 05:29 (00:00)
root pts/2 192.168.3.2 Mon Sep 29 04:41 - 04:57 (00:16)
root pts/1 192.168.3.2 Mon Sep 29 04:34 - crash (22:05)
root pts/0 192.168.3.2 Mon Sep 29 02:31 - 04:49 (02:18)
root pts/1 192.168.3.2 Mon Sep 29 02:28 - 02:28 (00:00)
root pts/0 192.168.3.2 Mon Sep 29 02:27 - 02:29 (00:01)
root tty1 Mon Sep 29 02:11 - crash (1+00:28)
reboot system boot 2.6.32-279.el6.i Mon Sep 29 02:10 - 02:29 (5+00:18)
root tty1 Sun Sep 28 04:27 - crash (21:43)
reboot system boot 2.6.32-279.el6.i Sun Sep 28 04:26 - 02:29 (5+22:02)
5. 检查某特定用户上次登录时间: lastlog
语法: lastlog
例如:
-
lastlog -u 用户ID(用户名也行) 查看具体用户上次登录时间
-
[yebin@localhost ~]$ cat /etc/passwd|grep yebin yebin:x:500:500::/home/yebin:/bin/bash [yebin@localhost ~]$ lastlog -u 500 用户名 端口 来自 最后登陆时间 yebin pts/3 192.168.3.66 六 10月 4 02:29:40 +0800 2025
[yebin@localhost ~]$ lastlog
用户名 端口 来自 最后登陆时间
root pts/2 192.168.3.66 六 10月 4 02:29:31 +0800 2025
bin **从未登录过**
daemon **从未登录过**
adm **从未登录过**
lp **从未登录过**
sync **从未登录过**
shutdown **从未登录过**
halt **从未登录过**
mail **从未登录过**
uucp **从未登录过**
operator **从未登录过**
games **从未登录过**
gopher **从未登录过**
ftp **从未登录过**
nobody **从未登录过**
dbus **从未登录过**
vcsa **从未登录过**
rpc **从未登录过**
ntp **从未登录过**
saslauth **从未登录过**
postfix **从未登录过**
haldaemon **从未登录过**
rpcuser **从未登录过**
nfsnobody **从未登录过**
abrt **从未登录过**
avahi **从未登录过**
tcpdump **从未登录过**
sshd **从未登录过**
oprofile **从未登录过**
yebin pts/3 192.168.3.66 六 10月 4 02:29:40 +0800 2025
6. 显示数据包到主机间的路径: traceroute
语法: traceroute
例如:traceroute www.sina.com.cn
7. 显示网络相关信息: netstat
原意:network state
语法: netstat [选项]
-t TCP协议
-u UDP协议
-l 监听
-r 路由
-n 显示IP地址和端口号
例如:
- netstat -tlun 查看本机监听的端口
- netstat -an 查看本机所有的网络连接(除了监听的还可以查看到已连接的(ESTABLISHED))
- netstat -rn 查看本机路由表(查网关)
[yebin@localhost ~]$ netstat -tlun
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:50260 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6013 0.0.0.0:* LISTEN
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
tcp 0 0 :::58969 :::* LISTEN
tcp 0 0 ::1:6010 :::* LISTEN
tcp 0 0 ::1:6011 :::* LISTEN
tcp 0 0 ::1:6012 :::* LISTEN
tcp 0 0 ::1:6013 :::* LISTEN
udp 0 0 0.0.0.0:983 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:1002 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:41846 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:48905 0.0.0.0:*
udp 0 0 :::983 :::*
udp 0 0 :::111 :::*
udp 0 0 :::39185 :::*
[yebin@localhost ~]$ netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:50260 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6013 0.0.0.0:* LISTEN
tcp 0 0 192.168.3.9:22 192.168.3.66:50378 ESTABLISHED
tcp 0 0 192.168.3.9:22 192.168.3.66:58155 ESTABLISHED
tcp 0 0 192.168.3.9:22 192.168.3.66:50334 ESTABLISHED
tcp 0 0 192.168.3.9:22 192.168.3.66:58149 ESTABLISHED
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
tcp 0 0 :::58969 :::* LISTEN
tcp 0 0 ::1:6010 :::* LISTEN
tcp 0 0 ::1:6011 :::* LISTEN
tcp 0 0 ::1:6012 :::* LISTEN
tcp 0 0 ::1:6013 :::* LISTEN
udp 0 0 0.0.0.0:983 0.0.0.0:*
udp 0 0 0.0.0.0:5353 0.0.0.0:*
udp 0 0 0.0.0.0:1002 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
udp 0 0 0.0.0.0:41846 0.0.0.0:*
udp 0 0 0.0.0.0:631 0.0.0.0:*
udp 0 0 0.0.0.0:48905 0.0.0.0:*
udp 0 0 :::983 :::*
udp 0 0 :::111 :::*
udp 0 0 :::39185 :::*
8. 配置网络: setup
tips:
- 设置好后,网络会永久生效
- 记得运行 service network restart
9. 挂载命令: mount
语法: mount [-t 文件系统] 设备文件名 挂载点
例如:mount -t iso9660 /dev/sr0 /mnt/cdrom 将光盘挂在到/mnt/cdrom
九、关机重启命令
1. 关机重启命令: shutdown(推荐,更安全)
语法:shutdown [选项] 时间
-c 取消前一个关机命令
-h 关机(half)
-r 重启(reboot)
例如:
- shutdown -h now 立刻关机
- shutdown -h 20:30 指定关机时间(20:30)
- shutdown -r now 立刻重启
2. 系统运行级别
- 0 关机
- 1 单用户(类似windows安全模式)
- 2 不完全多用户,不含NFS服务(文件传输服务)
- 3 完全多用户
- 4 未分配
- 5 图形界面
- 6 重启
[root@localhost ~]# cat /etc/inittab
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
3. 退出登录命令: logout
文本编辑器Vim
简介
说明 进入 退出
- 命令模式:类似对文件预览 vi 文件 :wq
- 插入模式:对文件内容进行编辑(新增,编辑,删除,复制,剪切等) aio Esc键
- 编辑模式:对文件进行操作(保存,另存为,设置行号,保存退出等) : 命令以回车结束运行
一、Vim常用操作
1. 插入命令:aio(a后i前o下行,A行尾I行首O上行)
| 命令 | 作用 |
|---|---|
| a | 在光标所在字符后插入 |
| A | 在光标所在行尾插入 |
| i | 在光标所在字符前插入 |
| I | 在光标所在行首插入 |
| o | 在光标下插入新行 |
| O | 在光标上插入新行 |
2. 定位命令
| 命令 | 作用 |
|---|---|
| :set nu | 设置行号 |
| :set nonu | 取消行号 |
| gg | 到第一行 |
| G | 到最后一行 |
| nG | 到第几行(6G) |
| :n | 到第几行 |
| 0 | 移至行首 |
| $ | 移至行尾 |
3. 删除命令:撤销u
| 命令 | 作用 |
|---|---|
| x | 删除光标所在处字符 |
| nx | 删除光标所在处后n个字符 |
| dd | 删除光标所在行,ndd删除n行 |
| dG | 删除光标所在行到文件末尾内容 |
| D | 删除光标所在处到行尾内容 |
| :n1,n2d | 删除指定范围的行。如:3,4d |
| u | 取消上一步操作 |
4. 复制剪切命令:
| 命令 | 作用 |
|---|---|
| yy | 复制当前行 |
| nyy | 复制当前行以下n行 |
| dd | 剪切当前行 |
| ndd | 剪切当前行以下n行 |
| p、P | 粘贴在当前光标所在行下或上 |
5. 替换和取消命令:
| 命令 | 作用 |
|---|---|
| r | 取代光标所在处字符 |
| R | 从光标所在处开始替换字符,按Esc结束 |
| u | 取消上一步操作 |
6. 搜索和搜索替换命令
| 命令 | 作用 |
|---|---|
| /string | 搜索指定字符串 搜索时忽略大小写:set ic |
| n,N | 搜索指定字符出现下一处或上一处 |
| :%s/old/new/g | 全文替换指定字符串 例如::%s/123/999/g |
| :n1,n2s/old/new/g | 一定范围内替换指定字符串 例如::4,10s/123/999/g/ |
7. 保存和退出命令
| 命令 | 作用 |
|---|---|
| :w | 保存修改 |
| :w new_filename | 另存为指定文件 |
| :wq | 保存修改并退出 |
| ZZ | 保存修改并退出(快捷键) |
| :q! | 不保存修改退出 |
| :wq! | 保存修改并退出(文件所有者或者root可用) |
二、Vim使用技巧(针对编辑模式即 : 进入编辑模式)
1. 将目标文件内容倒入到当前vim编辑的文件中: r 文件名
例如::r /etc/inssue
这是123
这是123
这是123
这是123
CentOS release 6.3 (Final)
Kernel \r on an \m
这是123
2. 不退出Vim编辑情况下执行相应的操作命令: !
例如:!which ls
3. 将1,2结合起来可以快速将操作命令结果倒入到Vim编辑的文件中
例如:
- r !date 将日期倒入到编辑文件中:2025年 10月 06日 星期一 09:39:19 CST
- r !which cp:/bin/cp
- ... 等等
这是123
这是123
这是123
这是123
CentOS release 6.3 (Final)
Kernel \r on an \m
这是123
2025年 10月 06日 星期一 09:39:19 CST
/bin/cp
4. 自定义快捷键:map
用法:map 快捷键 触发命令
例1:快速注释当前行
- map ^P I# : map后 + Ctrl V P --> ^P快捷键就为Ctrl + P,I# --> 跳到行首前加#然后退出编辑模式
例2:取消注释
- map ^B 0x : : map后 + Ctrl V B --> ^P快捷键就为Ctrl + B,0x --> 光标跳到行首删除光标字符
说明:这里的快捷键是P,B都可以自定义
5. 替换: ab
例如:ab yb yeyeyesuif
说明:输入yb 后自动会转成 yeyeyesuif
说明:有些时候在重启服务器之后,定义的快捷键会消失,这时候我们需要在用户的家目录下写配置文件,保存快捷键 root用户在 /root/.vimrc 其他用户在 /home/username/.vimrc在里面进行编辑,永久生效