1 linux快捷指令
1.1 快捷键
[PrtSc] 获取整个屏幕的截图并保存到Pictures目录
[F11] 使终端全屏,再次按下退出全屏
[Tab] 补全命令或显示所有可选项。
[Ctrl] +[a] 使光标快速到行首
[Ctrl] + [e] 光标快速移到行尾
[Ctrl] + [r] 在历史命令中搜索
[Ctrl] + [c] 强制终止当前命令
[Ctrl] + [l] 或者 clear 清屏
[Ctrl] + [Shift] + [f] 查找
[Ctrl] + [Shift] + [g] 查找上一个,按回车下一个
[Ctrl] + [Shift] +[c] 复制
[Ctrl] + [Shift] + [v] 粘贴
[Ctrl] + [Shift] + [+] 放大终端
[Ctrl] + [-] 缩小终端
[Alt] + [F4] 关闭当前窗口
[Shift] +[PgUp] 向上翻页
[Shift] + [PgDn] 向下翻页
[Alt] + [Tab] 切换不同的程序窗口
[Alt] + [Shift] + [Tab] 往回切换
以下是非常用快捷键
[Ctrl] + [u] 从光标所在位置删除到行首
[Ctrl] + [k] 从光标所在位置删除到行尾
[Ctrl] + [w] 删除从光标位置到当前所处单词的开头
[Ctrl] + [t] 交换光标位置前的两个字符
[Ctrl] + [y] 粘贴最后一次被删除的单词
[Ctrl] + [z] 把命令放入后台
[Alt] + [b] 光标往回移动到前一个单词
[Alt] + [d] 删除从光标位置到当前所处单词的末尾
[Alt] + [F1] 访问菜单
[Alt] + [F2] 运行
[Alt] + [F10] 最大化当前窗口,再次缩小
[Ctrl] + [Alt] + [F2] 切换到文本终端,也可以通过命令chvt n 来实现。如果你希望知道终端的名字,可以使用命令fgconsole
[Ctrl] + [Alt] + [F1] 从文本终端切换到图形用户界面
[Ctrl] + [Alt] + [Delete] 在文本终端下使用时强制重启
[Shift] + [PrtSc] 获取屏幕的某个区域截图并保存到Pictures目录
[Alt] + [PrtSc] 获取 当前窗口的截图并保存到Pictures目录
[Ctrl] + [PrtSc] 获取整个屏幕的截图并存放到剪贴板
[Shift] + [Ctrl] + [PrtSc] 获取屏幕的某个区域截图并存放到剪贴板
[Ctrl] + [Alt] + [PrtSc] 获取当前窗口的截图并存放到剪贴板
1.2 选项含义
在使用Linux命令时,有时候后面会跟一些"选项"(options)或"参数"(agruments)
命令格式为:
#中括号便是可选项
command [options] [arguments]
有些命令不需要选项和参数,有些则需要多个选项和参数
选项分为两种:
第一种:短选项
例如:-h、-l、-s。(PS:-后面接单个字母)
1)短选项使用‘-’引导,当有多个短选项时,各选项之间使用空格隔开
2)有些命令的短选项可以组合,例如:-l-h =>-lh
3)有些命令的短选项可以不带‘-’,这种叫做BSD风格,例如:ps aux
4)有些短选项需要带选项本身的参数,例如:-L 512M
第二种:长选项
例如:--help、--list等。(PS:后面接单词)
1)长选项都是完整单词
2)通常不能组合
3)如果需要加参数,长选项的参数通常需要“=”,例如:--size=1G
agruments(参数):
参数是指命令的作用对象
例如ls命令,不加参数显示当前目录,也可以加参数,例如:ls 查看的目录名
2linux命令
2.1 重启和关机
shutdown
shutdown -h now //立即关机
shutdown -h 1 //一分钟后关机
shutdown -r now //立即重启
halt //立即关机
reboot //立即重启
sync //把内存的数据添加到磁盘中(关机前保存数据),防止数据丢失
2.2用户登录和注销
logout //注销远程登录,切换到当前计算机
2.3添加用户
1.useradd -d 文件夹名(默认的在home目录下面) 用户名
选项
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段
-d, --home-dir HOME_DIR 新账户的主目录(没有主目录会创建一个主目录)
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户 ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
2.passwd 用户名
连续两次输入密码可以强制执行
2.4删除用户
userdel 用户名 //保留家目录删除用户
userdel -r 用户名 //不保留家目录
2.5查询用户
id 用户名
--uid=1001(xm) gid=1001(xm) 组=1001(xm)
2.6切换用户
su - 用户名 //当从高权限用户切换到低权限用户不需要输入密码,反之需要
exit //退回到原来用户
2.7用户组
groupadd 组名 //添加组
useradd -g 组名 用户名 //新建一个用户,并将用户添加到指定用户组中
usermod -g 组名 用户名 //修改用户到指定用户组中
下面的有关配置文件
/etc/passwd //用户配置文件,记录用户各种信息
用户名:口令:用户标志号:组标志号:注释性描述:主目录:登录shell
/etc/shadow //口令配置文件
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group //组配置文件,记录Linux包含的组的信息
组名:口令:组标志号:组内用户列表
2.8Linux运行级别
vim /etc/inittab //
init 3 //切换到运行级别3(五可视化页面)
init 0 //关机
init 5 //切换到图形化界面
2.9帮助指令
man 指令 //
help 指令 //获得shell内置指令的帮助信息
2.10文件目录类
2.10.1 pwd
pwd //当前工作目录的绝对路经
2.10.2 ls
ls -a //显示当前目录下的文件名,包括隐藏文件
ls -al //以列表的形式显示当前目录下的文件,包括隐藏文件
ls -l 或者 ll //以列表的形式显示当前目录下的文件,不包括隐藏文件
2.10.3 cd
cd ~ 或者 cd //回到家目录
cd .. //回到上一级目录
cd /root //从根目录到root,绝对路径
cd home //从当前目录下寻找home目录,相对路经
2.10.4 mkdir
mkdir /root/创建的目录 //以绝对路径创建目录
mkdir root/创建的目录 //以相对的路径创建目录
mkdir -p /home/animal/dog //创建多级目录
2.10.5 rmdir
rmdir 要删除的目录 //删除某个空目录,如果目录下有内容,无法删除
rm -rf 要删除的目录 //可以删除非空目录
2.10.6 touch
touch 文件名 //创建一个空文件
touch 文件名1 文件名2 //创建多个空文件
2.10.7 cp
cp 文件1 目录2 //将文件1拷贝到目录2中
cp -r 目录1 目录2 //递归方法将目录1拷贝到目录2中
\cp -r 目录1 目录2 //强制覆盖原来的文件不会提示
2.10.8 rm
rm 文件/目录 //删除文件或目录
rm -rf 目录 //删除非空目录
2.10.9 mv
mv 文件名1 文件名2 //将文件名1改为文件名2
mv 文件 目录 //将文件剪切到目录中去
2.10.10 cat
cat 文件路径 //以只读的权限查看文件
cat -n 文件路径 //以只读的权限查看文件,并添加行号
cat -n 文件路径 | more //按页查看(点空格可以查看下一页,点enter查看下一行,点q离开more不再显示,ctrl+b上一页,ctrl+f下一页)
cat -n 文件路径 | less //按页加载,内容较大时使用
2.10.11 >指令和>>指令
ls -l > 文件 //(将ls -l内容覆盖到文件里)
ls -al >> 文件 //将ls -al内容追加到文件的末尾
cat 文件1 > 文件2 //将文件1内容覆盖
echo “内容” >> 文件 //直接将双引号内容追加到文件中
2.12 echo
echo $PATH //打印当前的环境路径
2.13 head
head 文件路径 //显示文件的头十行
head -n 5 文件路径 //显示文件的头五行
2.14 tail
tail 文件路径 //显示文件后十行内容
tail -n 5 //显示文件后五行内容
tail -f //实时跟踪该文档的所有更新
2.15 ln—软链接(相当于window下的超链接)
ln -s 文件/文件夹路径 软连接名字 //为文件或目录创建一个软连接
使用
cd 软连接名字 //切换到软连接对应的目录
cat 软连接名字 //切换到软连接对应的文件
删除软连接
rm -rf 软连接名字 //相当于删除带有内容的目录
2.16 history
history //显示历史指令
history 10 //显示最近10个指令
!252 //执行历史指令编号为252的指令
2.17 时间日期类
2.17.1 date
date //显示当前时间
date “+%Y” //显示当前年份
date “+%m” //显示当前月份
date “+%d” //显示当前是这个月的第几天
date “+%Y-%m-%d” //显示当前年月日(-为分隔符可以换成其他的字符)
date -s “2018-10-31 11:20:20” //设置时间为2018年10月31日 11点20分20秒
2.17.2 cal
cal //查看当前日历
cal 2020 //查看2020年日历
2.18 find
find 目录名(查找范围) -name 文件/目录名(要查的文件) //按文件或目录名查找
find 目录名(查找范围) -user 拥有者名字(要查的文件) //按文件拥有者查找
find / size +20M //查询大小大于20兆的文件
find / -name *.txt //查询以txt结尾的文件
2.19 locate
(1)创建数据库
updatedb //
(2)使用locate
locate 文件或目录名 //查询路径
2.20 grep 和 | (管道符)
grep
n. UNIX 工具程序;可做文件内的字符串查找
-------------------------------------------
cat hello.txt | grep -n yes //查询并打印含有yes的内容,并且显示行号
cat hello.txt | grep -ni yes //查询并打印含有yes的内容,并且显示行号,不区分大小写
2.21 压缩和解压缩类
2.21.1 gzip/gunzip
gzip 文件名1 文件名2 //将文件1和文件2压缩为*.gz格式的文件
gunzip 文件名1 文件名2 //将文件名1和文件名2解压
2.21.2 zip/unzip
zip -r mypackage.zip /home/*(路径) //将/home下的所有文件或目录打包为mypackage.zip(递归压缩)
unzip -d /opt/tmp mypackage.zip //将mypackage.zip解压到/opt/tmp目录中去
2.21.3 tar指令
tar -c 文件/目录 //打包为.tar
tar -v 文件/目录 //显示详情信息
tar -f 文件/目录 //指定压缩的文件名
tar -z 文件/目录 //打包t
tar -x 文件/目录 //解压
tar -zcvf 压缩后的文件名(*.tar.gz) 文件1 文件2 //将文件1和文件2压缩到同一个压缩包下
tar -zcvf 压缩后的文件名(*.tar.gz) 文件1 文件2 -C 目录路径 //将文件1和文件2压缩到同一个压缩包下,解压到的目录要事先存在
3.组管理和权限管理
3.1 创建组
groupadd 组名 //创建组
3.2 创建用户并添加到指定组中
useradd -g 组名 用户名 //创建用户并添加到指定组中
3.3 查看文件的所有者,所在组
ls -alh //显示文件的所有者,所在组
3.4 改变文件所有者
chown 用户名 文件名 //将文件所有者修改为指定用户
3.5 改变文件所在组
chgrp 组名 文件名 //将文件修改到指定组中
3.6改变用户所在组
usermod -g 组名 用户名 //将用户修改到指定组中
usermod -d 目录 //修改用户登录默认打开的目录
4 权限
4.1文件类型判断
1 普通文件
[root@localhost ~]# ls -lh install.log
-rw-r–r– 1 root root 53K 03-16 08:54 install.log
我 们用 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r–r– ,值得注意的是第一个符号是 – ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具… …. 或 cp工具等。这类文件的删除方式是用rm 命令;
2 目录
[root@localhost ~]# ls -lh
总计 14M
-rw-r–r– 1 root root 2 03-27 02:00 fonts.scale
-rw-r–r– 1 root root 53K 03-16 08:54 install.log
-rw-r–r– 1 root root 14M 03-16 07:53 kernel-6.15-1.2025_FC5.i686.rpm
drwxr-xr-x 2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.17
drwxr-xr-x 2 root root 4.0K 04-19 10:53 mydir
drwxr-xr-x 2 root root 4.0K 03-17 04:25 Public
当 我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。
3 字符设备或块设备文件
如时您进入/dev目录,列一下文件,会看到类似如下的;
[root@localhost ~]# ls -la /dev/tty
crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty
[root@localhost ~]# ls -la /dev/hda1
brw-r—– 1 root disk 3, 1 2006-04-19 /dev/hda1
我们看到/dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件。比如猫等串口设备,键盘,鼠标等
我们看到 /dev/hda1 的属性是 brw-r—– ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备;
这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。
4 套接口文件
当我们启动MySQL服务器时,会产生一个mysql.sock的文件。
[root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock
srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock
注意这个文件的属性的第一个字符是 s。我们了解一下就行了。
5 符号链接文件(软链接文件)
[root@localhost ~]# ls -lh setup.log
lrwxrwxrwx 1 root root 11 04-19 11:18 setup.log -> install.log
当 我们查看文件属性时,会看到有类似 lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln -s 源文件名 新文件名。上面是一个例子,表示setup.log是install.log的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相 似。
符号链接文件的创建方法举例;
[root@localhost ~]# ls -lh kernel-6.15-1.2025_FC5.i686.rpm
-rw-r–r– 1 root root 14M 03-16 07:53 kernel-6.15-1.2025_FC5.i686.rpm
[root@localhost ~]# ln -s kernel-6.15-1.2025_FC5.i686.rpm kernel.rpm
[root@localhost ~]# ls -lh kernel*
-rw-r–r– 1 root root 14M 03-16 07:53 kernel-6.15-1.2025_FC5.i686.rpm
lrwxrwxrwx 1 root root 33 04-19 11:27 kernel.rpm -> kernel-6.15-1.2025_FC5.i686.rpm
4.2 权限分类
1.文件
r //read,可读
w //write,可修改,但不代表可删除,删除的条件是对该文件的目录有写的权限
x //execute,可执行
2.目录
r //read,可读,ls查看目录结构
w //write,可修改,可删除和重命名目录下的文件和目录
x //execute,可进入该目录
4.3 用户权限
drwxr-xr-x. 3 root root 46 6月 1 10:54 lh
文件所有者 文件所在组的其他用户权限 文件的其他组的用户权限 目录下的子目录数量 文件所有者 文件所在组 文件大小 上次修改时间 文件名
-------------------
文件大小,如果是目录,显示为4096
目录下的子目录(不包括文件,但包括隐藏文件)数量,如果是文件,代表的是硬链接的数
4.4 修改权限
chmod 命令可以修改文件或目录的权限
1.可以通过+,-,=来修改权限
u //user,文件所有者
g //group,所在组的其他用户
o //other,非所在组的其他用户
---------------------
chmod u=rwx,g=rx,o=x 文件名 //文件所有者权限rwx,所在组的其他用户权限rx,非所在组的其他用户权限x
chmod u-x,g+x,o-w-x 文件 //文件所有者权限减去x,所在组的其他用户权限加上x,非所在组的其他用户权限减去wx
---------------------
r=4 w=2 x=1
chmod u=rwx,g=rx,o=x abc 或者 chmod 751 abc //文件所有者权限rwx,所在组的其他用户权限rx,非所在组的其他用户权限x
4.5 修改文件所有者和所在组
chown 用户名 文件名 //修改文件所有者
chown 用户名:所在组 文件名 //修改文件所有者和所在组
chown -R 用户名 目录名 //递归将目录下文件所有者修改为指定用户
5 任务调度
5.1 crond
crontab -e //修改crontab,如果文件不存在会自动创建
crontab –l //显示 crontab 文件;
crontab -u 用户名 -l //查看指定用户的定时任务设置;
crontab -r //删除 crontab 文件;
crontab -ir //删除 crontab 文件前提醒用户。
service crond start //开启crond服务
------------------
第一个* 一小时当中的第几分钟
第二个* 一天当中的第几个小时
第三个* 一个月中的第几天
第四个* 一年中的第几个月
第五个* 一周中的星期几(0和7都代表星期日)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5BR2XTvu-1654162671786)(C:\Users\渡璟\AppData\Roaming\Typora\typora-user-images\image-20220601141249443.png)]
6 磁盘分区
6.1 分区方式
1.mbr
2.gtp
6.2 linux分区
hdx~ //基本格式
----------
hda3 //表示第一个ide硬盘第三个主分区或扩展分区
主分区 | 主分区 | 主分区 | 扩展分区 |
---|
6.3 查看系统分区情况
lsblk -f //查看系统分区情况
6.4 为目录挂载硬盘
1.虚拟机添加硬盘
2.分区 fdisk /dev/sdb(分区名)
3.格式化 mkfs -t ext4 /dev/sdb1
4.挂载 mount /dev/磁盘分区 目录路径 //将/dev下的分区挂载到指定目录,但是当电脑重启挂载会失效(临时挂载)
5.设置可以自动挂载
(1)vim /etc/fstab //编辑要自动挂载的内容并保存
-------------------------------------------------------------------------------------
/dev/sdb1 要挂载的目录 ext4 defaults 0 0
-------------------------------------------------------------------------------------
(2)mount -a //自动挂载(重新加载fstab文件中的内容)
6.5 取消挂载
unmount 挂载的分区路径 //需要先退出挂载的目录才能执行成功
6.6 查询磁盘情况查询
df -h //查询磁盘使用情况,h表示带单位
du -ach --max-depth=1 /opt //表示查询/opt目录下深度为1 的包括文件的容量大小,并且打印出总容量
7 工作实用指令
7.1 统计目录下文件数目
ls -l /home | grep “^-” | wc -l //统计 统计目录下文件数目
-------------------------
“ wc”代表字数统计。
wc -c filename:显示一个文件的字节数
wc -m filename:显示一个文件的字符数
wc -l filename:显示一个文件的行数
wc -L filename:显示一个文件中的最长行的长度
wc -w filename:显示一个文件的字数
7.2统计目录下目录数目
ls -l /home | grep “^d” | wc -l //统计 统计目录下文件数目
7.3 统计目录下目录数目,包括子目录下的
ls -lR /home | grep “^d” | wc -l //统计 统计目录下文件数目,包括子目录下的
7.4 以树状图展示目录
1. yum install tree //下载安装tree指令
2.tree 目录路径 //以tree状图展示目录结构
8 网络配置
8.1 查看ip地址
ifconfig //查看网络配置详情
--------------------------------
vmnet1和vmnet8是两个虚拟网卡,主要作用是让虚拟机可以通过你的宿主机的网线上网。注意:如果有“!”,说明不能用。
vmnet1是为host-only方式服务的,vmnet8是为NAT方式服务的。
一个是设置私有网络(Host Only)时,用来和主机通信的,禁用以后就无法正常使用Host-Only模式了,另一个是设置网络地址翻译(NAT)时,和主机通讯使用的,如果禁用,那么虚拟机在NAT模式下依然可以通过主机网卡访问外网,但不能通过内部网络和主机直接通信。而使用桥接网络时,则不需要这两个网卡了。
通过NAT方式上网的guest系统与主机通信需要VMnet8网卡的支持,使用Host-Only模式的guest系统与主机通信需要VMnet1网卡的支持,使用桥接模式上网需要网络中存在DHCP服务器,且提供服务。
VMnet8提供NAT和DHCP服务,VMnet1提供DHCP服务。
VMNet1
使用的是host-only的链接模式,即虚拟机只能与主机构成内部通信,无法对外网进行访问。
VMNet8
模式:
NAT网络模式
场景:
在宿主机安装多台虚拟机,和宿主组成一个小局域网,宿主机,虚拟机之间都可以互相通信,虚拟机也可访问外网,例如 搭建 hadoop 集群,分布式服务
VMNet0
模式:
使用桥接模式,安装VM后,在VM里建立虚拟机 默认 就是该模式。
场景:
如果你只是需要一台虚拟机可以和宿主互通,并可以访问外网,此模式即可。
描述:
安装虚拟机系统后不需要调整网络,物理网络中的 “路由” 所包含的DHCP服务器会自动识别该虚拟机并为其分配IP地址;
如果没有路由,可以自己手动在系统分配,原则是和宿主机在同一网段并指向相同的网关即可通信。
8.2 固定虚拟机IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33 //打开网卡配置文件
-------------------------------------
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static ------------------------------ //设置静态获取ip(固定虚拟机IP地址)
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=547a012e-a218-4956-9970-eed0f0b7b0e6
DEVICE=ens33
ONBOOT=yes //启用网卡
TYPE=Ethernet
IPADDR=192.168.6.129 //ipv4 地址 vmnet8
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.6.1 //网关
PREFIX=24
--------------------------------------
reboot //重启电脑
9 进程
9.1 显示系统正在执行的进程
ps -aux //以用户格式,带运行参数的格式显示所有进程
---------------------------------
(2)进程状态:
R 运行,正在运行或在运行队列中等待
S 中断,休眠中, 受阻, 在等待某个条件的形成或接受到信号
D 不可中断,收到信号不唤醒和不可运行, 进程必须等待直到有中断发生
Z 僵死 ,进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放
T 停止,进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行
------------------------------------------
ps -ef #显示所有当前进程
ps aux #显示所有当前进程
ps -ax #显示所有当前进程
ps -u pungki #根据用户过滤进程
ps -aux --sort -pcpu | less #根据 CPU 使用来升序排序
ps -aux --sort -pmem | less #根据用户过滤进程
ps -aux --sort -pcpu,+pmem | head -n 10 #查询全10个使用cpu和内存最高的应用
ps -C getty #通过进程名和PID过滤
ps -f -C getty #带格式显示的,通过进程名和PID过滤
ps -L 1213 #根据线程来过滤进程
ps -axjf(或pstree) #树形显示进程
ps -eo pid,user,args # 显示安全信息
ps -U root -u root u #格式化输出 root 用户(真实的或有效的UID)创建的进程
————————————————
1、ps -aux 是以BSD方式显示
ps (Process Status) 进程状态
a (show processes for all users) 显示所有用户的进程
u (display the process's user/owner) 显示用户
x (also show processes not attached to a terminal)显示无控制终端的进程
--------------------------------
USER :启动这些进程的用户
PID:进程的进程ID
%CPU :进程占用的CPU百分比
%MEM :占用内存的百分比
VSZ :该进程使用的虚拟內存量(KB)
RSS :该进程占用的固定內存量(KB)(驻留中页的数量)
TTY :进程启动时的终端设备
STAT :进程的状态
START :该进程被触发启动时间
TIME :运行进程需要的累计CPU时间
COMMAND:启动的程序名称
-------------------------------------
2、ps -ef 是以System V方式显示,该种方式比BSD方式显示的多
e (all processes)显示所有用户的进程此参数的效果和指定"a"参数相同
f (ASCII art forest)用ASCII字符显示树状结构,表达程序间的相互关系
------------------------------------
UID:启动这些进程的用户
PID:进程的进程ID
PPID:父进程的进程号(如果该进程是由另一个进程启动的)
C:进程生命周期中的CPU利用率
STIME:进程启动时的系统时间
TTY:进程启动时的终端设备
TIME:运行进程需要的累计CPU时间
CMD:启动的程序名称
------------------------------------------
3.pstree -p //以树状图的形式展示进程的PID
9.2 kill
kill 进程号(PID) //停止进程
kill 4010 //终止用户登录
kill 3908 //停止远程登录服务sshd
killall 服务名 //将归属为某一个服务的所有进程全部终止
kill -9 进程 //强制终止进程
9.3 服务
启动一个服务:systemctl start firewalld.service ///firewalld,防火墙
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service 或者 service firewalld.service status
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled
10 shell连接Linux太慢
每次登录SSH时总是要停顿等待一下才能连接上,这是因为OpenSSH服务器有一个DNS查找选项,UseDNS默认情况下是yes状态。
UseDNS 选项打开状态下,当客户端试图登录SSH服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们学习创建的虚拟机都是自己用,打开这个选项不过是在浪费时间,所以建议关闭,提升连接速度
在root用户下输入:
vi /etc/ssh/sshd_config
1
然后输入
:set nu
1
显示行号,找到115行,把“#UseDNS yes”的注释“#”号删除,然后把“yes”改成“no”,按“:wq”保存退出,然后输入
service sshd restart
1
来重启sshd服务立即生效
11 服务
11.1 systemctl
service [服务] start systemctl start [unit type] 启动服务
service [服务] stop systemctl stop [unit type] 停止服务
service [服务] restart systemctl restart [unit type] 重启服务
11.2 telnet
在windows终端使用
telnet IP地址 端口号 //测试是否能连接到端口号
11.3 查看系统的服务
setup //查看服务
ls -l /etc/init.d //查看服务
11.4 chkconfig
chkconfig --list //查看服务在各个运行级别的自启动状态
chkconfig --level 5 sshd off //设置在运行状态5下sshd服务取消自动启动
chkconfig sshd on //在所有状态下设置自动启动sshd服务
11.5 监控服务
top //进入监控服务,3秒刷新一次
top -d 10 //进入监控服务,10秒刷新一次
输入u可以选择监控的用户
输入k可以选择杀死进程 然后输入进程号
输入N可以按照pid排序
输入M可以按照内存使用率排序
输入P可以按照CPU使用率排序
11.6 监控网络状态
netstat -anp //按顺序输出,显示正在调用的进程
-an //按一定顺序排列输出
-p //显示哪个进程在使用
12 rpm和yum
12.1 rpm查询指令
rpm -qa | grep firefox //查询firefox是否安装
rpm -qi firefox //查询firefox软件包信息
rpm -ql firefox //查询Firefox安装哪些文件
rpm -qf 文件名 //查询文件所属哪个软件包
rpm -e firefox //卸载软件包
12.2 rpm安装
rpm -ivh rpm安装包路径名 //安装
-i //install 安装
-v //verbose 提示
-h //进度条
12.3 yum
yum list | grep 软件包名 //查看是否有这个软件包
yum install 软件包名 //下载并安装软件
12.4 yum切换到阿里云镜像文件
linux切换yum源
1、需要提前安装wget命令
yum install wget -y
1
2、切换到yum的安装目录
/etc/yum.repos.d/
1
3、将所有的已经存在的文件添加备份
以下两种方式任选其一
1、给文件该名称添加.bak
2、创建backup目录,将所有的文件移动进去
4、打开阿里云镜像网站
打开镜像网站 https://mirrors.aliyun.com 下载阿里云镜像repo文件
也可以用wget下载下来
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
1
5、清除yum的已有缓存
yum clean all
1
6、生成yum的缓存
yum makecache
1
注意:yum缓存这块说的多一点,yum的安装方式其实也是rpm包的安装方式,但是rpm包在安装的时候需要很多rpm包的依赖,因此需要将rpm包的依赖关系下载到本地,防止每次频繁的向镜像网站发送请求,因此在第6步骤的时候需要将rpm的依赖关系下载到本地,放置到缓存中
x //查询firefox是否安装
rpm -qi firefox //查询firefox软件包信息
rpm -ql firefox //查询Firefox安装哪些文件
rpm -qf 文件名 //查询文件所属哪个软件包
rpm -e firefox //卸载软件包
## 12.2 rpm安装
rpm -ivh rpm安装包路径名 //安装
-i //install 安装
-v //verbose 提示
-h //进度条
## 12.3 yum
yum list | grep 软件包名 //查看是否有这个软件包
yum install 软件包名 //下载并安装软件
## 12.4 yum切换到阿里云镜像文件
linux切换yum源
1、需要提前安装wget命令
yum install wget -y
1
2、切换到yum的安装目录
/etc/yum.repos.d/
1
3、将所有的已经存在的文件添加备份
以下两种方式任选其一
1、给文件该名称添加.bak
2、创建backup目录,将所有的文件移动进去
4、打开阿里云镜像网站
打开镜像网站 https://mirrors.aliyun.com 下载阿里云镜像repo文件
也可以用wget下载下来
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
1
5、清除yum的已有缓存
yum clean all
1
6、生成yum的缓存
yum makecache
1
注意:yum缓存这块说的多一点,yum的安装方式其实也是rpm包的安装方式,但是rpm包在安装的时候需要很多rpm包的依赖,因此需要将rpm包的依赖关系下载到本地,防止每次频繁的向镜像网站发送请求,因此在第6步骤的时候需要将rpm的依赖关系下载到本地,放置到缓存中