# Linux操作

# 目录知识

  1. bin
binary 二进制
许多“指令”对应的可“执行程序文件”目录
ls pwd init 等

1
2
3
4
  1. sbin
super binary 超级的 二进制
许多“指令”对应的可“执行程序文件”目录
该目录文件对应指令是“root”用户可以执行的指令
例如 init

1
2
3
4
5
  1. usr
unix system resource (unix 系统资源文件目录)
该目录类型win系统的 C:program files目录
该目录经常用于安卓各种软件
软件安装完成会形成对应的指令,改指令对应的可执行程序文件就存放在一下目录
/usr/bin
    许多“指令”对应的可“执行程序文件目录”
/usr/sbin
    root用户执行的指令 对应的 可 执行程序文件目录
1
2
3
4
5
6
7
8
  1. dev
device 系统硬件设备目录(linux系统所有的硬件都通过文件表示)
例如: /dev/cdrom是光驱
        /dev/sda 是第一块 scsi硬盘
        
1
2
3
4
  1. home
用户的“家目录”
给系统每增加一个普通用户的同时,都会在改目录为该用户设置一个文件目录
代表改用户的 “家目录”,用户后期使用系统的时候会首先进入其家目录
家目录名字默认与当前用户名字一致
用户对家目录拥有绝对最高的权限
1
2
3
4
5
  1. /root
该目录是root管理员的家目录,root用户登录系统后首先进入该目录
1
  1. /proc
内存映射目录,改目录可以查看系统的相关硬件信息
1
  1. /var
variable 可变的,易变的
改目录存储的文件经常发生变动, (增删改)
经常用于部署项目程序文件
/var/www/shop
/var/www/book

1
2
3
4
5
6
  1. /boot
系统启动核心文件目录,用于存储系统的启动文件
1
  1. etc
系统主要配置文件目录
/etc/passwd 用于存储用户信息的文件
/etc/group 用于存储组别信息的文件
1
2
3
  1. lib
library
系统资源文件类库目录
1
2
  1. /selinux
secure enhanced linux 安全增强型linux
对系统形成保护
会对给系统安装软件时有干扰作用
1
2
3

# 目录操作

  1. mkdir 【创建目录】
mkdir -p demo/demo // 递归的方式创建多个连续的目录
1
  1. mv 【移动目录】
mv dir1 dir2 // 把dir1移动到dir2目录下
mv dir1/dir2 dir3 // 把dir2 移动到dir3

1
2
3
  1. mv 【改名】
mv dir1 newdir 【把dir1 改为newdir】
mv dir1 ./newdir 【移动并改名】
mv dir1/dir2 dir3/newdir 【dir2移动到dir3并改名为newdir】
1
2
3

4.cp 【复制】

cp file1 newfile2 【把文件file2 拷贝到newfile2】
目录复制(需要加参数 -r 【recursive递归】,无视目录层次)
cp -r dir1 dir2 【dir1被复制到dir2目录下,并改名为原名】
1
2
3
  1. rm 【删除文件】
rm 文件
rm -r 目录
rm -rf 文件/目录 // rm -f force  递归强制删除

1
2
3
4

# 文件操作

  1. more 【查看文件内容】
more filename  【通过回车的方式查看文件内容】 [不支持回看]
less filename   【通过回车查看文件内容】【支持回看】
head -n 【查看文件前n行】
tail -n 【查看文件后n行】
wc filename 【查看文件总共有多少行】
cat filename // 打印文件内容到终端
1
2
3
4
5
6
  1. 创建文件
touch dir1/filename
touch filename 创建文件
1
2
  1. 给文件追加内容 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
  1. 光标移动
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
  1. 内容删除
dd 删除光标当前行
ndd 包括当前行在内,向后n行
x: 删除光标后的一个字符
cw 从光标所在位置删除至单词结尾,并进入编辑模式
1
2
3
4
  1. 内容复制
yy 删除光标当前行
nyy 包括当前行在内,向后n行
p 对复制(删除)的内容进行粘贴

1
2
3
4
  1. p 对复制(删除)的内容进行粘贴

  2. 相关快捷操作

u: undo 撤销
J: 合并上下两行
r: 单个字符替换
. 重复执行上次执行的命令
1
2
3
4

# 文件查找

  1. find /etc/ -name passwd 在etc目录下查找passwd
  2. find /etc/ -maxdepth 4 -name passwd 限制最深目录
  3. find /etc/ -mindepth 4 -name passwd 限制最深目录
  4. find / -size +100M 查找大于100M的字节
  5. find / -size -100M 查找小于100M的字节
  6. find / -name "linux" 查找带有linux字样的文件
  7. find / -type d -name nginx 查看nginx 目录

# 软连接

  1. 软连接就是快捷方式,用于对硬盘合理分配
  2. ln -s 1.txt 2.txt 在当前文件创建软连接文件
  3. ln -s /test/1.txt /test/bj/1.txt 最好用绝对路径

# 硬链接

  1. ln -d 1.txt 2.txt 【-d可选】 不用写绝对路径
id          权限    硬链接数量
2555906 -rwxrwxrwx  3         root root 13 10月 11 17:43 2.txt
1
2
  1. 目录不能使用硬链接
  2. 防止重要的文件被删除

# 指令知识

  1. whoami 【查看当前用户是谁】

  2. which 指令 【查看一个指令对应的执行程序文件在哪】

  3. ls //list 列出目录的文件信息

    ls -l //list -lis的缩写 以 详细信息 查看目录文件
    ls -a //list -all 查看目录 全部(包含隐藏文件)文件
    ls -al // list -all list 查看目录  ‘全部’(包含隐藏文件)以,详细信息 展示
    ls 北京 查看北京文件夹下有哪些文件
    ls -ali demo 显示demo 文件夹的详细信息
    
    1
    2
    3
    4
    5
  4. cd 【切换目录】

  5. pwd 【查看完整的操作位置】

  6. su 【用户切换】

    su - 或 su - root  // 向root用户切换
    exit // 退回到原用户
    su 用户名 //普通用户切换
    
    
    1
    2
    3
    4
  7. ctrl +l 【相当于clear】

  8. useradd caozepeng 【新增用户】

  9. cat 【查看文件内容】

  10. du -h 【查看文件大小】

  11. echo "哈哈" > demo.js 【把哈哈写入到demo.js】

  12. chmod 777 1.txt 增加权限

  13. which nginx 查找nginx的安装目录

  14. grep text 1.txt 在1.txt 下查找text字符

  15. df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。

  16. du会显示指定的目录或文件所占用的磁盘空间。

  17. ping命令用于检测主机。

  18. ps命令用于显示当前进程 (process) 的状态。

 ps -ef |grep node
1
  1. sudo命令以系统管理者的身份执行指令,
  2. uname命令用于显示系统信息。
  3. rpm命令用于管理套件。

# 杂七杂八

  1. sudo service apache2 stop 停止apache2服务
  2. sudo yum remove apache2 移除apache2
  3. yum search nginx 用命名搜索nginx
  4. sodu rpm -Uvh 地址 添加后就可以用 yum来进行安装
  5. ps -ef |grep nginx 显示nginx进程信息,连同命令行
  6. netstat -anp | grep :22
  7. netstat -ntap | grep mongo