Linux常用指令
查看命令
例如 man mkdir 就可以查看关于 mkdir 的相关命令,按 q 退出
/
成为根目录
,相当于Windows上的此电脑
,Linux中没有盘符,所有的目录和文件都在/
根目录下
ls 列出指定路径下的文件和目录
ls 就是 list 的意思,可以列出当前目录下都有哪些内容
/
在Linux中称为根目录
,就是Windows系统中的此电脑
,但是Linux系统没有盘符,所有的目录和文件都是在根目录下
以下的目录都是系统自带的,尽量不要删
Ps: 确保命令和后面的参数之间,要带至少一个空格
ls -l /
也可以通过列表的方式列出,更直观
或者 ll /
cd 切换目录
cd 就是
change directory
修改(当前)目录
PS: 使用 ctrl + l 可以起到清屏效果
cd /
来到 根目录,相当于点击了 “此电脑”
# 前面的符号就是显示你当前所在的目录
~
也成为home
目录用户主目录
,就是用户登录时,默认进入的目录
这个时候使用 ll 命令也可以查看根目录的文件了,因为此时就在根目录
etc目录放置了Linux系统的许多配置文件,可以通过这个方式进来简单看一下
PS: 使用cd 等命令,需要加上路径名时,输入部分字母后 摁下
Tab
键可以自动补全
点击Tab
自动补全,前提是该目录里只有一个这个名字的文件才能补全
当目录中有多个文件为 a 开头时,单击 Tab 键不会有反应
此时双击 Tab 键可以列出该目录下所有 a 开头的文件
此时我们使用 cd 进行一顿操作后进入到了一个未知的目录文件下sources.list.d
使用pwd可以查看当前所处路径的绝对路径
在 Linux 的命令中,但凡涉及到 目录 相关的操作,都是可以支持
绝对路径
和相对路径
的
绝对路径
以 / 开头的
相对路径
以
.
或者..
开头,有时候可以忽略
通过
cd ..
回到上一层
通过一直使用相对路径回到了根目录
pwd 查看当前路径的绝对路径
使用
pwd
可以查看当前文件的绝对路径
touch 创建空文件
后续进行的命令建议都在自己的主目录
~
中进行,不要影响到系统的目录文件中的内容
touch
创建一个空文件
touch text.txt
成功创建出了一个空文件
cat 显示文件内容
cat
查看文件内容(把文件内容打印到控制台上)
没有任何输出,因为我们的test.txt文件是刚创建的空文件
可以查看一下其他文件的内容
echo 显示内容 & 写入文件
echo
打印内容到控制台上
echo 'hello' > test.txt
就是把 hello 写进 test.txt文件里
此处的>
就是重定向
,重定向会把原有的内容覆盖
使用两个 > 就可以避免重定向 覆盖 的问题
>>
追加写
echo + 重定向 只能写一些简单的字符串内容,如果写的内容比较多,不太方便也不太修改
vim 文本编辑器
vim
是Linux自带的一个文本编辑器,使用vim可以更灵活的对文件进行编辑
打开文件
vim 文件名
这样就进入了test.txt文件
编辑文件
vim 引入了 '模式’的概念
启动 vim 之后,默认处于 normal mode (普通模式),此时键盘的按键都是快捷键,不是输入文本
如果要输入文本,就需要进入 insert mode(插入模式),最简单的方式就是i
保存退出
在 xshell 中,ctrl + s 是冻结屏幕的意思,不是保存文件,ctrl + q可以解除冻结
先按
esc
,回到 普通模式
再按:
进入命令模式,此时输入的就是命令,wq
就是保存的意思
保存成功
mkdir 创建目录
make directory 创建目录
同时还可以在目录中创建更多的目录,以此类推
还可以创建多级目录-p
rm 删除文件&目录
remove 删除文件/目录
删除文件
在Ubuntu按回车后可以直接删除,centos就需要点击 y 或者 n 进行确认删除操作
在Ubuntu也可以设置确认删除操作
输入 y 后回车删除成功
删除目录
rm -r
-r
就是递归,删除所有子目录就是递归操作
但是有的系统删除后会有提示,每删除一个就提示一次显得有些鸡肋
rm -rf
强制删除
,但是在Ubuntu里 rm -r 就默认了是强制删除,不会有提示
rm -rf / test/aaa/111 路径中有多个空格,rm 会认为你要删除两个目录,一个是 / 一个是test/aaa/111,删除 /
根目录
是非常危险的行为
定义变量
删除 rm -rf w o r k d i r / ∗ ∗ ∗ ∗ ∗ ‘ ∗ ‘ 也是一个通配符,意思就是删除指定目录下的所有内容,预期是想删除 / t m p / ∗ ∗ ∗ ∗ ∗ 但是一旦代码出现意外,导致 w o r k d i r 这个变量的定义语句没有被执行到,此时没有定义的变量通过 workdir/*** **`*`也是一个通配符,意思就是删除指定目录下的所有内容,预期是想删除 /tmp/*** **但是一旦代码出现意外,导致workdir这个变量的定义语句没有被执行到,此时没有定义的变量通过 workdir/∗∗∗∗∗‘∗‘也是一个通配符,意思就是删除指定目录下的所有内容,预期是想删除/tmp/∗∗∗∗∗但是一旦代码出现意外,导致workdir这个变量的定义语句没有被执行到,此时没有定义的变量通过变量名的方式访问
不会报错
,而是直接返回 空字符串
此时也就等价成了 rm -rf /*,也就等价于 rm -rf /
废了
mv 移动文件&目录 也可重命名
move 移动(剪切 粘贴)
mv 移动文件 终点
还可以把目录移动到另一个目录里
mv 还可以进行重名操作
cp 复制文件&目录
copy 复制
cp 复制的东西 终点
还可以拷贝 目录,此时 ccc 目录就有跟aaa目录一样的信息了
grep 字符串匹配
字符串匹配/查找
查找 ccc 是否在test.txt存在,加上 -n 就可以显示行号
ps 查看进程信息
process show 展示进程
ps 搭配 aux 或者 grep 可以查看Linux系统所有或者指定的进程
|
叫做管道,把前一个命令的输出,作为后一个命令的输入
netstat 查看网络信息
可以用来查看某个端口是否被某个进程使用
查询某个进程使用了哪个端口
搭配 grep使用可以进行筛查