一、目录结构
- /bin :存放二进制可执行文件
- /boot:存放开机时用到的各种文件
- /dev:Device设备,存放设备,这里的设备不能直接使用,需要进行挂载
- /etc:存放系统配置文件,如用户密码(/etc/passwd文件中)等
- /home:默认的 除了 root用户 之外的 其他用户的主目录
- /lib:存放系统中的运行程序所需要的函式库和其他模块
- /media:存放可以移除的装置(软硬盘)
- /mnt:暂时挂载一些文件系统,作用与/media类似
- /opt:可以安装第三方软件的目录
- /proc:虚拟文件系统,它存的数据都在内存中
- /root:超级 管理员用户root的用户目录
- /run:系统开机时的各项信息
- /sbin:存放超级管理员用户root的可以执行的二进制文件
- /srv:网络服务所需要的数据目录
- /sys:虚拟文件系统,存放与硬件相关的信息,/proc类似
- /tmp:存放临时文件
- /usr:存放系统应用程序程序,/usr/local一般就是安装软件
- /var:主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件
根目录:/
绝对路径:从/ 开始的写起的文件名或者目录名称
相对路径:相对于当前路径的文件或目录名的写法
特殊目录:
. :表示当前目录,也可以用./
.. :表示上一级目录,也可以用../
~ :表示当前用户所属根目录
二、Linux常用命令
-
pwd :显示当前所在的目录
-
cd
-
ls
-
mkdir
-
rm
-
mv
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-
free 查看内存使用情况(待补充)
-
df 显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
-
clear 清屏
-
date
-
du
-
top
- Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
-
uptime
-
find
- 用来在指定目录下查找文件,目录
- find 查找目录(选项) 查找内容
- -name:搜索文件名称
- -type:搜索文件的类型
- f :搜索文件
- d:搜索文件夹
- l:搜索软连接
-
shutdown
- shutdown -h now : 立即关机
- shutdown -h 17:00 系统将在17:00 关机
- shutdown -c 取消操作
-
reboot 系统重启命令
-
netstat
- -u :显示udp连接
- -t :显示tcp连接
- -l :显示处理监听状态的连接(仅显示监听套接字)
- -p :显示进程号和程序名称
- -n :直接使用ip地址,而不通过域名服务器(dns)
-
ps
- -e : 显示所有进程
- -f : 显示UID,PPIP,C与STIME栏位
- a : 显示现行终端机下的所有程序,包括其他用户的程序
- u :以用户为主的格式来显示程序
- x :显示所有程序,不以终端机来区分
-
kill
- kill 进程号
- kill -9 进程号
-
cp
- 拷贝目录
- -R/-r :拷贝目录必须使用的参数,同时可以递归拷贝
- 拷贝文件
- 不修改文件名
- 修改文件名
- -p 连同文件的属性一起复制过去,而非使用默认属性(备份常用);
- -i 若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
- 拷贝目录
-
scp
- 从本地提交文件到服务器
- 从本地提交文件夹到服务器
- 从远程拷贝到本地则先是远程地址 然后是本地目的地
- 目录拷贝则需要 -r 参数
- 从本地提交文件到服务器
-
tar
三、文件
-
文件属性和修改
-
文件属性
第一个root 表示所属用户,第二个表示所属用户组。
-
修改文件属性
-
chgrp: 更改文件属组
chgrp [-R] 属组名 文件名 -R 递归更改文件属组,该目录下的所有文件的属组都会更改。
-
chown: 更改文件属主,也可以同时更改文件属组
chown [-R] 属主名 文件名
chown [-R] 属组名 :属组名 文件名
-
chmod:更改文件9个属性
chmod [-R] [rwx] 文件
- chmod u+x file 给file的属主增加执行权限
- chmod u=rwx,g=rx,o=x file 上例的另一种形式
-
-
-
多种查找文件的方式
-
touch
-
cat
- 选项
- 如果cat f1 , cat f1 > d f1 不存在则报错 找不到文件
- -b :非空白行列出行号
- -n :行号包括空白行
输出重定向
> 覆盖之前的内容输出 >> 追加内容输出 - 选项
-
tac
- 内容倒序展示
-
nl
-
less
- d:向后翻半页数据
- b:向上翻一页数据
- q:退出
- 回车键:滚动一行
- 空格键:滚动一页
-
more
若文件内容过大,会按照百分比显示,而cat会显示所有内容
- d:向下查看文件内容(翻页)
- b:向上查看文件内容(翻页)
- q:退出
- /字符内容:向下搜索“字符内容”
- n:重复上一个搜索操作,向前搜索
- 空格键:向下翻页
- 回车键:向下翻一行
-
head
显示文件开头某几行的文件内容,默认前10行(注意你要是粘贴复制的linux认为这是一个字符)
- head -n k c 等价于head -n +k
- head -n -k c 相当于输出(除了从尾开始倒序计数为K的内容)的内容
-
tail
查看文件末尾几行的文件内容,默认是最后10行,使用-n参数指定展示多少行
- -f 常用于查看线上日志,动态查看(循环读取)文件内容
- 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 文件更新就可以看到最新的文件内容。
- 命令:tail -f -n 20 filename 或 tail -20f filename
-
wc
- -l 统计行数
- -w 统计单词数
- -c 统计字节数
-
四、软链接和硬链接
-
什么是软连接?为什么用它?怎么使用软连接?
- 相当于window的快捷方式
- file3是file1的软连接,file3和file1是两个不同的文件,不同的索引节点号,不同的数据块,但是file3中数据块只保存了file1的路径名。
- 源文件被删除后,软连接文件还存在。但是保存的是无效链接。
-
什么是硬链接?为什么用它?怎么使用硬链接?
- linux文件系统中,保存在磁盘分区中的文件不管什么类型都有一个索引节点,硬链接就是通过索引节点来进行链接。
- 一个文件拥有多个有效路径名,通过建立硬链接到重要文件,以防止“误删”的功能。(其原因如上所述,因为对应该目录的索引节点有一个以上的连接。
只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放,文件真正删除的条件是与之相关的所有硬连接文件均被删除。)
-
五、用户管理
在Linux系统中,用户是按组分类的,一个用户属于一个或多个组
管理用户的文件:
/etc/passwd
-
添加
-
useradd zhangsan
- 默认情况下在 /home 下创建一个zhangsan的目录
- 系统默认创建一个与用户同名的用户组
- 参数options
- -d :指定用户的家目录
- -u :指定用户的id
- -g :指定用户的用户组
- -G :指定用户的次要组
- useradd -d /home/lisi -g lijia -G zs -u 11011 user
-
设置密码 passwd [-l] [-u [-f]] [-d] [username]
-
-l:停止账号使用、 -u 启用已被停止的账户、-f 强迫用户下次登录时必须修改口令、-d 删除密码
-
-
-
-l : root 创建的mm、nn用户将nn用户-l后 无法再从(同级)mm切换到nn
-
-
切换用户
- su username:当前目录不变
- su - username: 切换到该用户的目录
- sudo su:平民切换到root
- 有可能会出现 is not in the sudoers file. This incident will be reported.解决方法就是在/etc/sudoers文件里给该用户添加权限
- zhangsan 用户下使用CTRL+D 退出当前用户(到root)==输入命令 exit
-
相关其它命令
- 使用whoami查看我是谁
- id:查看用户的基本信息,包括用户id、组id等。
-
-
修改
-
-u : 修改用户的id
-
-g : 修改用户组
-
-G : 修改用户的次要组
- usermod -G 1002 zhangsan
-
-l : 修改用户名
- usermod -l zs zhangsan
- 注意该用户的目录不会变
- 同时使用 -d /home/zs 改变主目录
- usermod -l zs zhangsan
-
-
删除
- 使用userdel username直接删除用户
- 使用userdel -r username 同时删除用户记录和用户目录(默认对应的是/home/username)
六、用户组管理
-
添加
- groupadd
- -g:指定用户组id
- groupadd -g 1111 lisi
- groupadd
-
修改
- groupmod -n 新组名 旧组名
- groupadd -g 新的用户组id 用户组名
-
删除
- 删除不包含用户的组
- groupdel groupname
- 删除已经包含的用户组
- groupdel groupname
- groupdel: cannot remove the primary group of user 'username'
- userdel -r username
- userdel -r username
- 删除不包含用户的组
-
用户组切换
七、磁盘管理
八、进程管理
九、防火墙
防火墙:一组规则,用来保护网络安全。对进出内容进行规则检测(来源、目标、协议),以确定是否允许其通过。
centos7.x 默认安装了firewalld,firewalld 也是 Linux 机器上管理防火墙规则的工具
- firewall-cmd --state 查看状态
- firewall-cmd --query-port=3306/tcp 查询3306 这个端口是否开放 (别忘了重启防火墙)
- firewall-cmd --permanent --add-port=3306/tcp 开放3306端口(没有--permanent重启后将会失效)
- firewall-cmd --permanent --remove-port=3306/tcp 移除端口
- firewall-cmd --reload 重新启动防火墙(只要改了配置就要做)
以上参数解释:
- firewall-cmd:linux 提供操作firewall的一个工具
- --version :查看版本
- --help:查看帮助
- --status:查看状态
- --zone=public --list-ports :显示所有打开的端口
- --permanent:表示设置为持久
- --add-port:标识添加的端口
- --remove-port:标识删除的端口
十、服务管理
systemctl是CentOS的服务管理工具中主要的工具
启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld.service 显示一个服务的状态:systemctl status firewalld.service 在开机时启用一个服务:systemctl enable firewalld.service 在开机时禁用一个服务:systemctl disable firewalld.service 查看服务是否开机启动:systemctl is-enabled firewalld.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl --failed
路漫漫其修远兮,吾将上下而求索。