第一章 实操类 实用指令
1.1文件目录类
pwd:查看当前所在文件
ls:查看当前所在文件夹下内容
 ls -a:显示指定目录下所有子目录与文件,包含隐藏文件。
 ls -l:以列表方式显示文件的详细信息。

 ls -h:配合-l以人性化方式显示文件大小。

cd [目录名]:切换文件夹
touch [文件名]:如果文件不存在,新建文件

mkdir [目录名]:创建目录

rmdir[目录名]:删除空目录

rm[文件名]:删除文件名
使用rm要小心因为删除后文件不可以恢复
| 选项 | 含义 | 
|---|---|
| -f | 强制删除,忽略不存在的文件,无需提示 | 
| -r | 递归的删除目录下的文件的内容,删除文件夹时候,必须带此参数 | 
cp [文件名] 或 [目录名]
常用选型
-r:递归复制整个文件夹案例1:将/home/aaa.txt 拷贝到 /home/bbb目录下:

案例2:将/home/test 整个目录copy到 /home/zwj/
 clear :清屏
cat:以只读的格式打开文件
more:分屏显示文件内容,每次只显示一页内容
less:和上面类似,但对于大型文件具有较高的效率

head:用于显示文件开头部分内容

tail:用于输出文件尾部的内容

echo:输出内容到控制台
ln:软连接,类似于windows的快捷方式
1.2搜索查找类
find:
从指定的目录下递归的查找各个子目录,将满足条件的文件或者目录显示在终端上
| 选项 | 功能 | 
|---|---|
| -name | 按照指定文件名查找文件 | 
| -user | 查找属于指定用户的所有文件 | 
| -size | 按照指定文件大小查找文件 | 
案例1:按照文件名,根据名称查找/home目录下的hello.txt

案例2:按照拥有者,查找/opt目录下的,用户名称为nodody的文件

案例3:查找Linux系统下大于20M的文件

案例4:查找 / 目录下所有的.txt的文件

locate:
快速定位文件路径
特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
案例:定位hello.txt文件的所在目录

grep:过滤查找
管道符,”|”,表示将前一个命令的处理结果输出传递给后面的命令处理
| -n | 显示匹配行和行号 | 
|---|---|
| -i | 忽略字母大小写 | 
案例1:请在hello.txt文件中,查找“yes“所在行,并且显示行号

1.3压缩和解压类
以后补上,看尚硅谷老师的课
1.4 Vim&查看文章
查看的常用命令
空格键:显示下一屏Enter键:一次滚动一行b:回滚一屏f:前滚一屏q:退出Tab:自动补全(若有歧义在按一下,提示可能有的目录)ctrl+c:退出选择,重新回到终端通配符的使用
例子:LS 5.txt (也可以不加后缀名); LS \3**:代表任意一个字符?:代表任意一个字符,至少一个[]:表示可以匹配字符组的任意一个[]:匹配a,b,c中的任意一个[a-f]:匹配a到f中的任意一个ctrl+s:保存文件(文件如多有一个*说明这个文件没有被保存)
man是manual的缩写,是linux提供的手册
第二章 实操类 进程管理
ps:查看进程的使用指令
一般使用的参数是 ps -aux
| PID | 进程识别号 | 
|---|---|
| TTY | 终端机号 | 
| TIME | 此进程所消耗的CPU时间 | 
| CMD | 正在执行的命令或者进程名 | 
ps -a:显示当前终端的所有进程信息
ps -u:以用户的格式显示进行信息
ps -x:显示后台进程运行的参数
ps -ef:以全格式显示当前的所有进程



kill:终止进程
kill [进程号],killall,也可以使用通配符
-9:表示强迫进程立即停止
案例1:踢掉某个非法登录用户

案例2:终止远程登录服务sshd,在适当时候再次重启sshd服务

案例3:终止多个gedit编辑器
killall gedit
案例4:强制杀掉一个终端

pstree:查看进程树
-p:显示进程PID
-u:显示进程的所有属性

Service:服务管理
服务本质就是进程,只是运行在后台,通常会监听某个端口,等待其他程序请求,比如(mysql,sshd 防火墙等),因此我们又称为守护线程,是Linux中非常重要的知识点

在centos7.0以后,不在使用service,而是systemctl
使用案例:查看当前防火墙状态,关闭防火墙和重启防火墙

/etc/init.d/服务名称

服务的运行级别:

chkconfig为每个服务的各个运行级别设置自启动/关闭


top动态监控进程
top与ps命令很相似,都是用来显示正在执行的进程,top的不同在于可以更新正在运行的进程
| -d | 指定top命令每隔几秒钟更新,默认是3秒 | 
|---|---|
| -i | 使top不显示闲置和僵死的进程 | 
| -p | 通过指定监控进程ID来仅仅监控某个进程 | 
| -u | 后加用户名即可查看指定的用户 | 
监控特定用户:

输入top后,回车查看进程,然后输入“k”回车,在输入要结束的进程ID号

netstat查看系统网络情况
| -an | 按照一定排列顺序输出 | 
|---|---|
| -p | 显示哪个进程在调用 | 
查看系统所有的网络服务

查看服务名为sshd的服务信息

之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下:
1.netstat -anp |grep 端口号
如下,我以3306为例,netstat -anp |grep 3306(此处备注下,我是以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看),如下图1:

 图1
图1中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。
2.netstat -nultp(此处不用加端口号)
该命令是查看当前所有已经使用的端口情况,如图2:

软连接和硬链接
软连接:(符号连接)等同于Windows的快捷方式
创建一个软连接
注意创建的语法:ln -s是必须的,然后后面跟一个目标文件夹,最后是一个当前目录的软连接名。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22[root@server6 ~]# ln -s test_chk/ test_chk_ln
[root@server6 ~]# ll
总用量 84
-rw-------. 1 root root 1257 6月 16 01:17 anaconda-ks.cfg
drwxr-xr-x. 25 root root 4096 11月 1 10:28 azkabanJob
-rw-r--r--. 1 root root 67322 11月 4 10:24 azkabanJob.zip
drwxr-xr-x. 4 root root 37 7月 13 11:01 hadoop_temp
-rw-r--r--. 1 root root 54 7月 4 14:11 HelloLinux.txt
drwxr-xr-x. 2 root root 22 11月 4 10:41 test_chk
lrwxrwxrwx. 1 root root 9 11月 4 10:42 test_chk_ln -> test_chk/
-rw-r--r--. 1 root root 67 10月 8 15:52 zookeeper.out
[root@server6 ~]# cd test_chk_ln/
[root@server6 test_chk_ln]# ll
总用量 4
-rw-r--r--. 1 root root 12 11月 4 10:41 test.txt
[root@server6 test_chk_ln]# cat test.txt
hello spark
[root@server6 test_chk_ln]# ll
总用量 4
-rw-r--r--. 1 root root 12 11月 4 10:41 test.txt
[root@server6 test_chk_ln]# cat test.txt
hello spark可以看到软连接文件前面是l其他都是-,-代表文本文件,d代表是一个文件夹,而l就是连接文件
硬连接:ln 源文件名 连接文件名
硬链接:就好像是copy,但是在linux里面就只有一份,这个文件好像多了几条命,
$$ —- \mathcal{End} —- $$

