# Linux操作
# 目录知识
- bin
binary 二进制
许多“指令”对应的可“执行程序文件”目录
ls pwd init 等
1
2
3
4
2
3
4
- sbin
super binary 超级的 二进制
许多“指令”对应的可“执行程序文件”目录
该目录文件对应指令是“root”用户可以执行的指令
例如 init
1
2
3
4
5
2
3
4
5
- usr
unix system resource (unix 系统资源文件目录)
该目录类型win系统的 C:program files目录
该目录经常用于安卓各种软件
软件安装完成会形成对应的指令,改指令对应的可执行程序文件就存放在一下目录
/usr/bin
许多“指令”对应的可“执行程序文件目录”
/usr/sbin
root用户执行的指令 对应的 可 执行程序文件目录
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- dev
device 系统硬件设备目录(linux系统所有的硬件都通过文件表示)
例如: /dev/cdrom是光驱
/dev/sda 是第一块 scsi硬盘
1
2
3
4
2
3
4
- home
用户的“家目录”
给系统每增加一个普通用户的同时,都会在改目录为该用户设置一个文件目录
代表改用户的 “家目录”,用户后期使用系统的时候会首先进入其家目录
家目录名字默认与当前用户名字一致
用户对家目录拥有绝对最高的权限
1
2
3
4
5
2
3
4
5
- /root
该目录是root管理员的家目录,root用户登录系统后首先进入该目录
1
- /proc
内存映射目录,改目录可以查看系统的相关硬件信息
1
- /var
variable 可变的,易变的
改目录存储的文件经常发生变动, (增删改)
经常用于部署项目程序文件
/var/www/shop
/var/www/book
1
2
3
4
5
6
2
3
4
5
6
- /boot
系统启动核心文件目录,用于存储系统的启动文件
1
- etc
系统主要配置文件目录
/etc/passwd 用于存储用户信息的文件
/etc/group 用于存储组别信息的文件
1
2
3
2
3
- lib
library
系统资源文件类库目录
1
2
2
- /selinux
secure enhanced linux 安全增强型linux
对系统形成保护
会对给系统安装软件时有干扰作用
1
2
3
2
3
# 目录操作
- mkdir 【创建目录】
mkdir -p demo/demo // 递归的方式创建多个连续的目录
1
- mv 【移动目录】
mv dir1 dir2 // 把dir1移动到dir2目录下
mv dir1/dir2 dir3 // 把dir2 移动到dir3
1
2
3
2
3
- mv 【改名】
mv dir1 newdir 【把dir1 改为newdir】
mv dir1 ./newdir 【移动并改名】
mv dir1/dir2 dir3/newdir 【dir2移动到dir3并改名为newdir】
1
2
3
2
3
4.cp 【复制】
cp file1 newfile2 【把文件file2 拷贝到newfile2】
目录复制(需要加参数 -r 【recursive递归】,无视目录层次)
cp -r dir1 dir2 【dir1被复制到dir2目录下,并改名为原名】
1
2
3
2
3
- rm 【删除文件】
rm 文件
rm -r 目录
rm -rf 文件/目录 // rm -f force 递归强制删除
1
2
3
4
2
3
4
# 文件操作
- more 【查看文件内容】
more filename 【通过回车的方式查看文件内容】 [不支持回看]
less filename 【通过回车查看文件内容】【支持回看】
head -n 【查看文件前n行】
tail -n 【查看文件后n行】
wc filename 【查看文件总共有多少行】
cat filename // 打印文件内容到终端
1
2
3
4
5
6
2
3
4
5
6
- 创建文件
touch dir1/filename
touch filename 创建文件
1
2
2
- 给文件追加内容 echo 内容 > 文件名称【把内容以覆盖的方式写入文件,如果不存在就创建文件】 echo 内容 >> 文件名称【把内容追加到文件,如果不存在就创建文件】
# 文件编辑
a i o s 进入编辑模式
a:光标向后移动一位
i:光标和所在字符不发生变化
o:新行
s:删除光标前一个字符
: / 进入尾行模式
esc 两次esc 删除全部内容 可进入命令模式
:q //quit 退出编辑
:w //write 对修改的内容进行保存
:w!强制保存
:wq!强制保存并退出
:wq // write quit 保存修改并退出
:q!强制退出
:set number 或 nu 设置行号
:set nonumber 或 nonu 设置行号
:/内容/ 查找内容 可以按n找下一个 N上一个
:数组 // 跳转到数字所在行
:s/count1/count2 替换所在行匹配到的第一个
:s/count1/count/g 替换所在行匹配到的所有
:%s/count1/count/g 替换文档匹配到的所有
命令模式 按 u 就可以撤销替换
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- 光标移动
1。字符级
上 k 下 j 左h 右l
2. 单词级
w:下个单词的首字母
e:下个单词的尾字母
b:上个单词的首字母
3. 行级
$行首
0行尾
4. 段落级
[ 上个段落首部
] 下个段落尾部
5. 屏幕级
H:屏幕首部
L: 屏幕尾部
6. 文档级
G:文档尾部
1G:文档第一行
nG:文档第N行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 内容删除
dd 删除光标当前行
ndd 包括当前行在内,向后n行
x: 删除光标后的一个字符
cw 从光标所在位置删除至单词结尾,并进入编辑模式
1
2
3
4
2
3
4
- 内容复制
yy 删除光标当前行
nyy 包括当前行在内,向后n行
p 对复制(删除)的内容进行粘贴
1
2
3
4
2
3
4
p 对复制(删除)的内容进行粘贴
相关快捷操作
u: undo 撤销
J: 合并上下两行
r: 单个字符替换
. 重复执行上次执行的命令
1
2
3
4
2
3
4
# 文件查找
- find /etc/ -name passwd 在etc目录下查找passwd
- find /etc/ -maxdepth 4 -name passwd 限制最深目录
- find /etc/ -mindepth 4 -name passwd 限制最深目录
- find / -size +100M 查找大于100M的字节
- find / -size -100M 查找小于100M的字节
- find / -name "linux" 查找带有linux字样的文件
- find / -type d -name nginx 查看nginx 目录
# 软连接
- 软连接就是快捷方式,用于对硬盘合理分配
- ln -s 1.txt 2.txt 在当前文件创建软连接文件
- ln -s /test/1.txt /test/bj/1.txt 最好用绝对路径
# 硬链接
- ln -d 1.txt 2.txt 【-d可选】 不用写绝对路径
id 权限 硬链接数量
2555906 -rwxrwxrwx 3 root root 13 10月 11 17:43 2.txt
1
2
2
- 目录不能使用硬链接
- 防止重要的文件被删除
# 指令知识
whoami 【查看当前用户是谁】
which 指令 【查看一个指令对应的执行程序文件在哪】
ls //list 列出目录的文件信息
ls -l //list -lis的缩写 以 详细信息 查看目录文件 ls -a //list -all 查看目录 全部(包含隐藏文件)文件 ls -al // list -all list 查看目录 ‘全部’(包含隐藏文件)以,详细信息 展示 ls 北京 查看北京文件夹下有哪些文件 ls -ali demo 显示demo 文件夹的详细信息
1
2
3
4
5cd 【切换目录】
pwd 【查看完整的操作位置】
su 【用户切换】
su - 或 su - root // 向root用户切换 exit // 退回到原用户 su 用户名 //普通用户切换
1
2
3
4ctrl +l 【相当于clear】
useradd caozepeng 【新增用户】
cat 【查看文件内容】
du -h 【查看文件大小】
echo "哈哈" > demo.js 【把哈哈写入到demo.js】
chmod 777 1.txt 增加权限
which nginx 查找nginx的安装目录
grep text 1.txt 在1.txt 下查找text字符
df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
du会显示指定的目录或文件所占用的磁盘空间。
ping命令用于检测主机。
ps命令用于显示当前进程 (process) 的状态。
ps -ef |grep node
1
- sudo命令以系统管理者的身份执行指令,
- uname命令用于显示系统信息。
- rpm命令用于管理套件。
# 杂七杂八
- sudo service apache2 stop 停止apache2服务
- sudo yum remove apache2 移除apache2
- yum search nginx 用命名搜索nginx
- sodu rpm -Uvh 地址 添加后就可以用 yum来进行安装
- ps -ef |grep nginx 显示nginx进程信息,连同命令行
- netstat -anp | grep :22
- netstat -ntap | grep mongo