linux基础

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的依赖关系下载到本地,放置到缓存中


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值