1. Linux中各个目录的含义
| 名称 | 含义 |
|---|---|
| bin | binary的缩写,此目录下存放的是二进制的可执行文件 |
| sbin | system binary的缩写,此目录下存放的是用于系统管理的二进制文件,是系统管理员专用的 |
| usr/bin | 用户使用的应用程序 |
| usr/sbin | 超级用户使用的比较高级的管理程序和系统守护程序 |
| boot | 该目录下存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件 |
| dev | device的缩写,该目录存放Linux的设备文件。在Linux中访问设备的方式和访问文件的方式是相同的 |
| etc | 该目录存放的是系统管理所需要的配置文件和子目录 |
| home | 用户的主目录。Linux中,每一个用户都有一个自己的目录,目录以用户的账号命名。 |
| lib | 该目录存放的是系统最基本的动态链接共享库,类似于Windows中的DLL文件 |
| lost+found | 这个目录下一般是空的,当系统非法关机后,这里就存放了一些文件。"断电"后恢复的文件 |
| media | 该目录下存放的是 Linux自动识别的一些设备,如:U盘、光驱等等。。。 |
| mnt | 该目录可以让用户临时挂载别的文件系统,比如光驱。。。 |
| opt | 该目录存放服务器额外安装的一些软件,比如mysql、nginx,docker.....,该目录默认是空的 |
| proc | 该目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 |
| sys | 该目录下安装了Linux2.6内核中新出现的一个文件系统sysfs |
| root | 该目录为超级权限者的用户主目录。是给管理员用户用的 |
| tmp | 该目录用来存放一些临时文件 |
| usr | Unix Software Resource的缩写。这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows中的program files目录,注意不是用户目录 |
| var | 该目录下存放经常被修改的东西,比如各种的日志文件 |
| run | 该目录下存放系统启动以来的信息。如果系统重启,这个目录下的文件应该被删掉或清除 |
2. 服务器管理和维护建议
- 远程服务器不允许关机、只能重启。
- 重启服务器时应该关闭服务(管理员要小心)。
- 不要在服务器访问高峰时运行高负载命令。
- 远程配置防火墙(过滤器:靠IP地址、端口号等识别)时不要把自己踢出服务器。
- 合理密码定期更新。
- 合理分配权限。
- 定期备份重要数据和日志。
3. linux常用命令
命令基本格式:
命令 [-选项][参数],如ls -la /etc
说明:
- []代表选项,表示可选。
- 选项可以简化,-a等于--all
- 可以有多个选项
3.1 文件处理命令
- ls
- -a 查看所有的(包含隐藏)
- -l -lh(人性化,如字节->k),列出文件的详细信息:文件类型以drwxr-xr-x为例:
- 第一个字符:-表示文件、d表示文件目录、l表示软链接)rwx读写执行。
- 后九个字符:所有者、所属组、其他人。
- -rwxr-xr-x表示该文件所有者可读可写可执行、所属组可读可执行、其他人可读可执行。
- -d 针对某个目录查看详细信息。
- -i 显示inode, 主要是用来查看硬链接。
- touch:创建空文件(不要创建带空格的文件名),touch binru test创建了两个文件。
- cat:显示文件内容。-n(显示行号)。可以倒过来用 tac。
- more:分页显示文件内容。
- less:分页显示文件内容(可上下翻)。
- head:看文件头几行。 head -n(指定行数) 20 /etc/services
- tail:看文件末尾几行。 tail -n 20 /etc/services,tail -f(动态显示文件内容)
- ln(link):ln -s /etc/issue /temp/issue.soft,生成软连接文件;ln -s /etc/issue /temp/issue.hard,生成硬连接文件(软连接文件都是lrwxrwxrwx,权限其实由源文件决定,硬链接不能接目录),类似于快捷方式。
3.2 目录处理命令
- mkdir:创建多个目录 mkdir -p(递归创建) /tmp/binru/test,binru文件夹原先不存在,也可以创建
- cd
- . 当前目录
- .. 上级目录
- pwd:获取当前目录
- rmdir:删除空目录,删除没有回收站,不要误删除,-r(递归删除),-f(强制删除)。
- rm -rf *(表示删除当前目录下所有文件)
- 目录处理命令:cp -r 递归复制文件
- -p 文件复制保持文件属性,如时间
- 目录处理命令:mv 剪切和更名,mv和rename都可以更名
3.3 文件管理命令
| 名称 | 对文件的权限 | 对目录的权限 |
|---|---|---|
| r | 可以查看文件 | 可以列出目录中的内容 |
| w | 可以修改文件内容 | 可以在目录中创建、删除文件 |
| x | 可以执行文件 | 可以进入目录 |
- chmod:更改权限命令,只有所有者和管理员可以更改
- [{ugoa}{+-=}{rwx}] u:所有者;g:所属组;o:其他人;a:所有人。
- -R 递归修改
- r=4,w=2,x=1(rwxrw-r--表示764)
chmod u+x,g=rwx,o-r test.txt为所有者添加可执行权限且为其他用户减去读权限chmod -R 777 /tmp
-
chown:更改文件所有者
- chwon binru test(chown [用户][文件或目录])
-
chgrp:更改文件所属组
- chgrp binru test(chgrp [用户][文件或目录])
-
umask -S:显示\修改新建文件缺省权限
3.4 文件搜索命令
- find:文件搜索
- find /etc/init(精准搜索,找etc/init)
- find /etc/ -name *init*(模糊匹配,etc下包含init,严格区分大小写,*匹配任意字符,?匹配单个字符)
- find /etc/ -iname *init*(模糊匹配,etc下包含init,不区分大小写)
- find / -size +204800(1k == 2个数据块,查找大于100M的文件)
- find / -user binru.wang(查找所有者为binru.wang的文件)
- find /etc -cmin -5(cmin文件属性change、mmin文件内容修改、amin文件访问时间)
- find /etc -size +163840 -a -size -204800(-a表示and -o表示or,查找大于80MB小于100MB的文件)
- find / -inum 31531 -exec rm {} \(根据i节点找到并删掉)
- find /etc/init(精准搜索,找etc/init)
- locate:在文件资料库中查找文件
- updatedb,更新文件资料库
- -i 不区分大小写
- which:搜索命名所在目录及别名信息
- whereis:搜索命令所在目录及帮助文档路径
- grep:在文件中搜索字串匹配的行并输出,过滤条件(常用)
- cat file2.txt |grep -nf file1.txt(找两文件相同的行并显示行号)
- grep "linux" file1.txt(从文件中查找linux关键字)
3.5 帮助命令
- man:获取配置文件与服务的帮助
- man ls
- man ls
- whatis:
- --help:列出常见选项
- info:
- help:查shell内置命令
3.6 用户管理命令
- useadd:添加新用户
- passwd: 设置用户密码,要符合复杂度要求
- who:登陆用户名|登陆终端(tty本地终端、pts远程终端)|登陆时间|IP地址
- w: 查看登陆信息
- uptime: 查看连续运行时间,也可以查看负载情况
3.7 压缩解压命令
windows下常见的压缩包格式有:.zip.7z.rar linux下常见的压缩包格式有:.gz
- gzip: 压缩文件,只能压缩文件,不能压缩目录,压缩成功后源文件没有了。
- gunzip:解压缩
- tar: 打包目录,tar 选项[-zcf][压缩后文件名][目录]
- -c 打包
- -v 显示详细信息
- -f 指定文件名
- -z 打包同时压缩
- tar -zcf test.tar.gz test(打包并解压)
- tar -zxvf test.tar.gz(解压解包)
- zip: -r可以压缩目录,压缩成功后源文件还在
- upzip: 解压缩
- bzip2: gzip的升级版
3.8 网络命令
- write:给用户发短信,以ctrl+D结束
- wall: 给当前在线的所有用户发短信,自己也能收到
- ping: 测试网络联通性
- ping -c 3 192.168.0.1
- ifconfig: 查看当前网络状态
- mail: 相比write,不管在不在都能发
- last: 列出与过去登陆系统的用户信息(常用的日志查询命令)
- lastlog -u uid(查看某一个用户)
- traceroute:跟踪路由
- traceroute www.baidu.com
- netstat: 显示网络相关信息
- -t: TCP协议
- -u: UDP协议
- -l: 监听
- -r: 路由
- -n: 显示IP地址和端口号
- netstat -tlun: 查看本机监听的端口
- netstat -an: 查看本机所有网络连接
- netstat -rn: 查看本机路由表
- setup: 设置网络配置(有些linux发行版没有)
- mount:设置挂载点(图形界面一般自动挂载,命令行不会,相当于做软链接)
- mount -t iso9660 /dev/sr0 /mnt/cdrom
3.9 关机重启命令
关机之前应该先断开服务,服务器尽量不要关机,只能重启
- shutdown:关机(更为安全)。-r:重启;-h:关机;-c:取消前一个命令
- showdown -h now(立即关机)
- showdown -h 08:30(8点30关机)
- halt: 关机
- poweroff: 关机
- init 0: 关机
- reboot: 重启
- init 6: 重启
系统运行级别:runlevel(查看当前运行级别),init x(设置运行级别)
0: 关机
1: 单用户(类似windows单用户模式,启动最小核心程序进入修复)
2: 不完全多用户(命令行不包含NFS,网络文件系统服务如共享):有安全风险
3: 完全多用户(命令行)
4: 未分配
5: 图形界面
6: 重启
- logout: 退出登陆
4. Vim常用操作
Vim(vi)作用:建立、编辑、查看文本文件,没有菜单,只有命令
4.1 基础用法
- vim filename :如果已有文件,则打开;没有该文件,则创建并打开一个文件filename。
- Ctrl+q :当vim卡住时,可以取消正在执行的命令
4.2 一般命令模式、编辑模式、命令行模式
- 进入vim后,按下i 键,则进入编辑模式,此时可以修改文本内容;按下Esc 键,退出编辑模式,此时可以进行文本的选择、查找、光标移动等。
4.3 光标移动
- n:n表示整数,按下数字后再按空格,光标向右移动n个字符
- 0或Home:光标移动到本行开头
- $或End:光标移动到本行末尾
- gg:光标移动到第一行
- G:光标移动到最后一行
- :n或nG:n为整数,光标移动到第n行
4.4 查找、替换
- :noh 关闭查找关键词高亮
- /word:向光标之后寻找第一个值为word的字符串
- ?word:向光标之前寻找第一个值为word的字符串
- n:重复上一个查找操作
- N:反向重复前一个查找操作
- :n1,n2s/word1/word2/g:n1与n2为数字,在第n1行与n2行之间寻找word1这个字符串,并将该字符串替换为word2
- :1,$s/word1/word2/g:将全文的word1替换为word2
- :1,$s/word1/word2/gc:将全文的word1替换为word2,且在替换前要求用户确认。
4.5 文本的选择、复制、删除、编辑、保存
- v:选中文本
- d:删除选中的文本
- dd:删除当前行
- y:复制选中的文本
- yy:复制当前行
- p:将复制的数据在光标的下一个位置/下一行粘贴
- u:撤销
- Ctrl+r:取消撤销
- >:将选中的文本向右缩进一次
- <:将选中的文本向左缩进一次
- :w:保存
- :w! 强制保存
- :q:退出
- :q!:强制退出
- :wq :保存并退出
4.6 显示行号、格式化、高亮
- :set paste: 设置成粘贴模式,取消代码自动缩进
- :set nopaste:取消成粘贴模式,开启代码自动缩进
- :set nu:显示行号
- :set nonu;隐藏行号
- gg=G:将全文代码格式化
5. 软件包管理
5.1 软件包分类
- 源码包
- 脚本安装包
- 二进制包(相对于源码包经过了编译)