查找与检索:
一.文件名查找:find . -name "test*" find 路径 查找类型 名字 未输入路径则默认当前路径
二 . 内容检索:grep "he*" ./ -R 查找内容为he*(e有0个或多个) 内容 路径 连同子目录中所有文件一起查找。
注意:文件名查找中的*是通配符。内容检索中的*是正则表达式
-c : 只输出匹配行的计数。
-i: 不区分大小写(只适用于单字符)。
-h : 查询多文件时不显示文件名。
-l : 查询多文件时只输出包含匹配字符的文件名。
-n: 显示匹配行及行号。
-s: 不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
-R:连同子目录中所有文件一起查找。
磁盘管理:
一. 挂载和卸载U盘:
- 检测存储设备名称 : sudo fdisk -l
2.挂载存储设备sdbl到挂载点/mnt目录 sudo mount /dev/sdb1 /mnt 将/dev/sdb1(U盘所在设备) 挂载到/mnt
3. 访问 : /mnt 如果/mnt中为hqfs 表示失败
4.卸载/mnt : Sudo umount /mnt
echo "hello" >Hi //>为输出重定向
二 . 拷贝:
dd if=sfile of=dfile //if表示inputfile of表示outputfile
创建一个100M的空文件: dd if=/dev/zero of=hello.txt bs=100M count =1 //count 表示写几次
/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero,是一个输入设备,你可你用它来初始化文件,从里面独处来的数据都是0.
压缩包管理:c为压缩,x为解压缩
一 .tar归档:tar可以为文件和目录创建档案
tar cvf dir.tar dir 降dir整理到dir.tar
tar xvf dir.tar dir 释放文件 到dir
二 . 压缩与解压缩:
打gz压缩包:
tar zcvf dir.tar.gz dir 压缩
tar zxvf dir.tar.gz 解压缩
打bz2压缩包:
tar jcvf dir.tar.bz2 dir 压缩
tar jxvf dir.tar.bz2 解压缩
??可以指定目录压缩:
tar zxvf dir.tar.gz –C ~/test
进程管理:
一 .查看当前在线用户:who
二. 监控后台进程:ps 精简版 ps aux 带后台的
Head 标头:
USER 用户名
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process ID)
SID 会话ID(Session ID)
%CPU 进程的CPU占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,kbytes字节
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
R 运行 Runnable(on run queue) 正在运行或在运行队列中等待.
S 睡眠 Sleeping 休眠中,受阻,在等待某个条件的形成或接受到信号
I 空闲 Idle
Z 僵死 Zombie(a defunct process) 进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放。
D 不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行,进程必须等待直到有中断发生。
T 停止 Terminate 进程收到SIGSTOP ,SIGSTP,SIGTIN,SIGTOU信号后停止运行。
P 等待交换页
W 无驻留页 has no resident pages 没有足够的记忆体分页可分配
X 死掉的进程
< 高优先级进程 高优先序的进程
N 低优先级进程 低优先序的进程
L 内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s 进程的领导者(在它之下有子进程)
l 多进程的(使用 CLONE_THREAD,类似 NPTL pthreads)
+ 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总CPU时间
COMMAND 正在执行的命令行命令
NI 优先级(Nice)
PRI 进程优先级编号(Priority)
WCHAN 进程正在睡眠的内核函数名称;该函数的名称是从/root/system.map文件中获得的。
FLAGS 与进程相关的数字标识。
三 . 显示后台作业:jobs
$ jobs
[1]- Stopped cat
[2]+ Stopped cat
第一列方括号中的数字表示作业序号,它是由当前运行的shell分配的,而不是由操作系统统一分配的。在当前shell环境下,第一后台作业的作业号为1,第二作业的作业号为2,等等。
第二列中的“+”号表示相应作业的优先级比“-”号对应作业的优先级高。
第三列表明作业状态,是否为运行、中断、等待输入或停止等。
最后列出的是创建当前这个作业所对应的命令行。
四.后台/挂起作业移到前台运行:fg
fg 一个或多个进程的PID,或者是命名名称,或者是作业号(作业号前面要带一个%号)
把指定的后台作业或挂起作业移到前台运行。
在命令行的末尾加上&字符,则shell为这个命令创建一个后台进程。
它虽然也可以输出到屏幕,但是不能读取键盘输入,不管执行命令的进程有没有退出都立刻回到shell提示符接受下一条命令的输入。
如果该进程也需要读取键盘输入,则被挂起等待直到用户用fg命令把它变成前台进程。
如果一个命令需要较长的处理时间并且不需要与用户交互,就适合把它放在后台执行。
五.挂起进程后台执行:bg
或者在创建任务时加&
六.进程发送信号 kill
Kill命令如果不带参数而直接跟pid,就是发给该进程SIGTERM信号,大部分进程收到该信号就会终止。但是被挂起的进程不能处理信号,所以必须发SIGKILL信号,由系统强制终止进程。
七. 查看当前进程环境变量:
vim ~/.bashrc
在家目录下的隐藏文件.bashrc中配置当前用户环境变量即在文件末尾添加export PATH=$PATH:新路径
配置系统环境变量,配置时需要有root权限:vim /etc/profile
用户管理:
一. 创建用户:sudo useradd –s /bin/bash –g colin –d /home/colin –m colin
-s 指定新用户登录时shell类型
-g 指定所属组,该组必须已经存在
-G 指定附属组,该组必须已经存在
-d 用户家目录
-m 用户家目录不存在时,自动创建该目录
二 . 设置用户组:sudo groupadd colin
三.设置密码:sudo passwd colin
四. 切换用户:su 用户
五. 变成root用户:sudo su
六.删除用户:userdel 选项 用户名 常用选项-r,作用是把用户的主目录一起删除
网络管理:
- 查看网卡信息 ifconfig
- 关闭网卡 sudo ifconfig ens33 down
- 开启网卡 sudo ifconfig ens33 up
VMnet0(桥接模式)、VMnet8(NAT模式)、VMnet1(仅主机模式)
桥接模式:将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络。简而言之,这就好像在局域网中添加了一台新的、独立的计算机一样。因此,虚拟机也会占用局域网中的一个IP地址,并且可以和其他终端进行相互访问。桥接模式网络连接支持有线和无线主机网络适配器。如果你想把虚拟机当做一台完全独立的计算机看待,并且允许它和其他终端一样的进行网络通信,那么桥接模式通常是虚拟机访问网络的最简单途径。
NAT模式:
NAT,是Network Address Translation的缩写,意即网络地址转换。NAT模式也是VMware创建虚拟机的默认网络连接模式。使用NAT模式网络连接时,VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据"包裹",都会交由NAT网络适配器加上"特殊标记"并以主机的名义转发出去,外部网络返回的响应数据"包裹",也是先由主机接收,然后交由NAT网络适配器根据"特殊标记"进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址,默认情况下,外部网络终端也无法访问到虚拟机。
此外,在一台主机上只允许有一个NAT模式的虚拟网络。因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的。
前面我们已经提到,默认情况下,外部网络无法访问到虚拟机,不过我们也可以通过手动修改NAT设置实现端口转发功能,将外部网络发送到主机指定端口的数据转发到指定的虚拟机上。比如,我们在虚拟机的80端口上"建立"了一个站点,只要我们设置端口转发,将主机88端口上的数据转发给虚拟机的80端口,就可以让外部网络通过主机的88端口访问到虚拟机80端口上的站点。
仅主机模式:
仅主机模式,是一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到Internet(在主机上安装合适的路由或代理软件,或者在Windows系统的主机上使用Internet连接共享功能,仍然可以让虚拟机连接到Internet或其他网络)。
在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信)。
形象的说:
桥接模式的虚拟机,就像一个在路由器"民政局"那里"上过户口"的成年人,有自己单独的居住地址,虽然和主机住在同一个大院里,但好歹是有户口的人,可以大摇大摆地直接和外面通信。
NAT模式的虚拟机,纯粹就是一个没上过户口的黑户,路由器"民政局"根本不知道有这么个人,自然也不会主动和它通信。即使虚拟机偶尔要向外面发送点的信件,都得交给主机以主机的名义转发出去,主机还专门请了一位叫做NAT的老大爷来专门负责这些虚拟机的发信、收信事宜。
仅主机模式的虚拟机,纯粹是一个彻彻底底的黑奴,不仅没有户口、路由器"民政局"不知道这么号人,还被主机关在小黑屋里,连信件也不准往外发。