目录
1. ls
1.2 认识Linux目录结构
2. pwd
3. cd
4. touch
5. cat
6. echo
7. Vim的使用
7. 1 如何退出vim呢?
7.2 进入编辑模式
8. mkdir
9. rm
9.1. 需要注意的是 rm -rf / 是一个高危操作
10. mv
11. cp
12.grep
13. ps
14. netstat
前言:由于我们使用的是终端软件为Xshell,需要大致认识下以下字段:
主机名后的~表示为root目录,如果为 etc 就是表示为当前在etc的目录下。
Ps:在xshell中,复制粘贴不是使用 ctrl+c ctrl+v,而是使用ctrl+insert,shift+insert.(当然,也可以自定义)。
ls (list) 查看指定目录中,都有哪些内容。
就好比:在window目录下,点击D盘,就能看到D盘的内容:
输入ls: 查看当前目录中的内容
还可以给ls后面加上一个路径(绝对/相对),就可以查看指定目录中的内容:
bin这类浅蓝色代表的是一个快捷方式。
boot这类蓝色代表的是一个目录。
而白色,形如java_test 这类是一个文件。
Ps:/ 是“根目录”的意思。
window系统的根目录:
Linux是一个树形目录结构,Linux与window不同的是,其没有盘符(C盘...D盘...)这种概念。
几个特殊的目录结构:
可以通过ls -l /的方式查看根目录下的详细情况,ll / 为 ls -l / 的缩写形式:
pwd(print working directory) 查看目录当前完整的绝对路径
相当于window系统上点击文件资源管理器的地址栏一样:
cd(change directory) 切换目录
cd后面也是可以跟上:绝对路径 或者相对路径的
绝对路径就是以 / 开头,相对路径一般以.或者..开头的,其中.有时候可以忽略。
小技巧:
在使用cd的时候,不一定需要将目录全部都打出,可以使用tab健的补全功能,当然,如果出现比较多的选项,需要双击tab,列出所有的可能:
创建空的文件
如下所示,即为创建成功:
当前处在哪个路径下,就会把文件创建在哪:
cat(concatenate)查看文件内容
示例如下:
由于test2文件大小为0,所以并未有任何响应。
echo 意味,回显。写文件
vim相当于是Linux上默认的记事本.
使用vim 文件名 :打开文件
7. 1 如何退出vim呢?
先使用 :,这时候光标会来到最下面的一行,此时输入q(输入wq,代表保存并且退出),再次点击回车,就退出了。
如果输入: 光标并没有到最下面的那一行,那就连点几次esc即可。待恢复后,再次输入:q就好了。
7.2 进入编辑模式
Vim的最关键的概念就是模式(mode)。
默认进去的时候是 普通模式(normal mode)。
普通模式下,键盘的大部分按键,都是特定含义的快捷键。
因此真正的进入编辑模式,需要进入 ”插入模式“(insert mode)。即 输入小写字母 i,即可进入。
需要注意的是:
如果vim没有正确的关闭,在下次启动的时候,会报错:提示上次没有正确关闭。
可以直接按D:删除未保存的内容。按R:就是恢复之前的编辑内容。
mkdir(make directory)创建目录
使用 -p 选项可以创建多级目录:
rm (remove) 删除文件/目录
需要注意的是: 执行删除文件时,可能会出现询问是否删除的状况,这时候输入:y(大小写均可) 即可删除,如果输入其他字母,则不执行删除。
如果需要删除目录的话,需要在后面添加一个 -r(递归)
9.1. 需要注意的是 rm -rf / 是一个高危操作
该命令行的意思为:递归的删除根目录,r表示递归,f表示不确认,强制删除。
删除根目录后,一切linux命令均不可使用,因为像mkdir,ls等linux命令,其实就说一些特定的可执行文件。当执行这个语句的时候,其实就是linux在执行这些文件的内容。
而 rm -rf / 会将所有的文件目录都删除,包括上述的创建目录的指令。解决方案只能重装系统。
可能有人会说,怎么可能傻到执行该命令?
来看一组操作:
rm -rf / root/test.txt
原意是向删除root目录下的test.txt文件,而因为在/和root目录中多敲了一个空格,Linux就会觉得你是在执行 删除根目录 / , 和一个root目录下的test.txt文件。
mv(move) 移动 = 剪切+粘贴
用法:mv 源 目标,
mv不光能移动文件位置,还能给文件改名字。
cp(copy) 复制 = 复制+粘贴
用法:cp 源 目标
cp如果拷贝的是一个目录,需要加上 -r选项,表示递归拷贝,否则会出错。
用于查找文件中是否包含指定字符串,并显示对应的行
用于查看当前系统上运行的进程
ps aux # 显示系统上所有的线程
常用的还有以下两种:
ps aux | grep "进程名"
ps aux | grep "进程id"
查看系统上的网络状态
举例:
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端口号"