Linux学习历程(持续更新整理中)
(1) ls 显示文件和目录列表
a ls -l 显示文件的详细信息
b ls -a 列出当前目录的所有文件,包含隐藏文件。
c stat '目录/文件' 显示指定目录/文件的相关信息,比ls命令显示的内容更多
(2) mkdir '目录' 创建目录
(3) touch '文件名' 当前目录下创建一个空文件
(4) echo '内容'>'文件名' 当前目录下生成一个带内容的文件
(5) cat、tac '文件名' 查看文件中的文本内容
a more、less分页显示文本文件内容
b head、tail 分别显示文件开头和结尾部分
(6) cp ' 原始文件路径' '复制到新的文件' 复制文件或者目录
(7) rm '文件名' 删除文件
a rm -r 同时删除该目录下的所有文件(递归删除)
b rm -f 强制删除文件或者目录。 (c) rmdir 删除空目录
(8) mv '原始文件' '需要移动到的目录' 移动文件或者目录
a mv '原始文件名' '修改的文件名' 修改文件名称,将原始的文件名称修改为修改后的文件名称
(9) find -name '文件名' 搜索当前目录及其子目录的结果,不过滤任何条件,直接返回所有查找到的文件
(10) wc '文件名' 统计文本文档的行数,字数,字符数。
(11) grep '查询的字符串' '文件名' 在指定的文本文件中查找指定的字符串
(12) tree 显示当前目录下的目录树
a 切换到root用户下执行yum -y install tree 命令安装tree插件,安装之后执行tree会显示出对应的目录树
(13) pwd 显示当前工作目录
(14) ln -s 建立软链接文件 例如: ln -s /home/kencery/nginx/house/room /home/root,给前面的文件做一个软连接放到/home/下的root连接(相当于windows下的快捷方式)。
2.备份压缩命令(1) gzip压缩(解压)文件或者目录,压缩文件后缀为gz
a 命令格式 gzip [选项] 压缩(解压缩)的文件名 压缩:gzip '文件.tar/文件' 压缩
b 参数
b.1 -d 将压缩文件解压 gzip -d '压缩文件' 解压缩
b.2 -l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
b.3 -v 对每一个压缩和解压的文件,显示文件名和压缩比
b.4 -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩比(高压缩比),系统缺省值为6. gzip -9(压缩比) '文件.tar/文件'
(2) bzip2压缩(解压)文件或者目录,压缩文件后缀为bz2
a 命令格式 bzip2 [-cdz] 文件
b 参数
b.1 -d 解压缩的参数 bzip2 -d '压缩文件' 解压缩
b.2 -z 压缩的参数 bzip2 -z '文件.tar/文件' 压缩
b.3 -num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩比(高压缩比),系统缺省值为6.
(3) tar文件、目录打(解)包
a 命令格式 tar [-cxzjvf] 压缩打包文档的名称,欲打包目录参数
b 参数
b.1 -c 建立一个归档文件的参数命令
b.2 -x 解开一个归档文件的参数命令
b.3 -z 是否需要用gzip压缩
b.4 -j 是否需要用bzip2压缩
b.5 -v 压缩的过程中显示文件
b.6 -f 使用档名,在f之后要立即接档名
b.7 -tf 查看归档文件里面的文件
c 备注说明
c.1 仅打包,不压缩 tar -cvf /home/kencery/demo.tar /home/kencery/demo
c.2 打包后,已gzip压缩 tar -zcvf /home/kencery/demo.tar.gz /home/kencery/demo
c.3 打包后,已gzip压缩 tar -jcvf /home/kencery/demo.tar.bz2 /home/kencery/demo
备注:参数-f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识
3.Vim编辑器的使用(1) 编辑模式:等待编辑命令输入 vim '文件名'
(2) 插入模式:编辑模式下,输入i、o、a进入插入模式,插入文本信息
(3) 命令模式:在编辑模式下,输入":"进行命令模式
a 命令模式下的命令:
a.1 直接退出Vi
a.2 wq 保存后退出vi,并可以新建文件
a.3 q! 强制退出,不会保存
a.4 w file 将当前内容保存成某个文件
a.5 set number 在编辑文件显示行号(在编辑模式下操作)
a.6 set nonnumber 在编辑文件不显示行号(在编辑模式下操作)
4.文件权限管理(1) 查看文件和目录的权限("R(4)"读权限、"W(2)"写权限、"X(1)"执行权限)
a ls -l 文件名/目录
drwxrwxr-x. 3 kencery kencery 4096 Mar 29 13:56 KenceryA
a.1 显示信息包含:文件类型(d目录,-pu通文件,l连接文件),文件权限,文件的属主,文件的所属组,文件的大小,文件的创建时间,文件的名称
a.2 从第二个字符起rwx是说明用户kencery有读、写、执行权限,接着的rwx表示用户组kencery也有读、写、执行权限,最后的r-x指其他人(other)只有读,执行权限,没有写权限。
(2) 更改操作权限
a chmod[u 属主,g 所属组用户,o 其他用户,a 所有用户][+ 加权限,-减权限,=加权限的同时将原有权限删除][rwx] 文件或者目录名
a.1 对kencery.txt文件增加所属组用户增加写权限 chmod g+w kencery.txt
a.2 对kencery.txt文件去掉所属组的写权限增加其他用户的执行权 chmod g-w,o+x kencery.txt
5.用户和组账户管理(1) 账户系统文件
a cat /etc/passwd 每行定义一个用户账户,此文件对所有的用户可读,信息如下:
root:x:0:0:root:/root:/bin/bash
用户名:口令:用户标示号:组标示号:注释:宿主目录:命令解释器
a.1 口令是X,说明用户的口令是被/etc/shadow文件保护的。
a.2 用户标示号,系统内唯一,root用户的UID为0,普通用户从500/1000开始,1-499/999是系统的标准账户(每个Linux版本系统不一致)
a.3 宿主目录,用户登录系统后所进入的目录
a.4 命令解释器,制定该用户使用的shell,默认是/bin/bash。
b cat /etc/shadow 为了增加系统的安全性,用户口令通常用shadow passwords保护,只有root可读,信息如下: root:$6$/ZgfxO/0$Q2G6/CvI9hknSdsWW8xRy8QkBfZLCyhYyDIn2atfDgsEQf1SsNP9FTZ2B2BU9aOs4mXmY.FP0UQ2tib/UKrLq1:16701:0:99999:7:::
用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间(7):不活动时间:失效时间:标志
c cat /etc/group 将用户进行分组时Linux对用户进行管理及控制访问权限的一种手段,一个组中可以有多个用户,一个用户可以同时属于多个组,该文件对所有用户可读。
组名:组口令:gid:组成员 root:x:0:
d cat /etc/gshadow 该文件用户定义用户组口令,组管理员等信息,只有root用户可读。
root:::
(2) 对用户进行管理
a 添加用户信息
a.1 useradd/adduser 用户名 添加用户(备注:没有设置密码不能使用) useradd/adduser hyl
a.2 useradd -u (UID号)
a.3 useradd -p (口令)
a.4 useradd -g(分组)
a.5 useradd -s (sheel)
a.6 useradd -d (用户目录)
b 修改用户信息
b.1 usermod -u(新的UID)
b.2 usermod -d (用户目录)
b.3 usermod -g (组名)
b.4 usermod -s (sheel)
b.5 usermod -p(新口令)
b.6 usermod -l (新登录名)
b.7 usermod -L(锁定用户账号密码)
b.8 usermod -U (解锁用户账号)
c.删除用户信息
c.1 userdel 用户名(删除用户账号)
c.2 userdel -r 用户名(删除用户账号的同时删除目录)
(3) 对组账户进行管理
a 添加组信息
a.1 groupadd 组账户名(创建新组)
a.2 groupadd -g 指定组GID
b 修改组信息
b.1 groupmod -g 更改组的GID
a.2 groupmod -n 更改组账户名
c 删除组信息
c.1 groupdel 组账户名(删除指定组账户)
(4) 口令维护命令
a passwd 用户账户名(设置用户口令) passwd '账户名'
b passwd -l 用户账户名(锁定用户账户)
c passwd -u 用户账户名(解锁用户账户)
d passwd -d 用户账户名(删除账户口令)
e passwd -a 用户账户名 组账户名(将指定用户添加到指定组)
f passwd -d 用户账户名 组账户名(将用户从指定组中删除)
g passwd -A 用户账户名 组账户名(将用户指定为组的管理员)
(5) 用户和组状态命令
a su 用户名 切换用户账户
a.1 su '用户名' 切换用户账户(不切换工作目录)
a.2 su - '用户名' 切换用户账户(切换工作目录)
b sudo 是允许系统管理员让普通用户执行一些或全部的超级管理员(root)命令的一个工具(如:reboot,su...),这样不仅减少了root用户的登录和管理实践,同样也提高了安全性,sudo不是对shell的一个替代,它是面向每个命令的,它的主要特点有以下几点:
b.1 cat /etc/sudoers sudo文件的说明
c grops '用户名'
6.系统管理命令(1) who 显示在线登录的用户并且查看以什么方式登录系统的。
(2) hostname 显示主机名称、uname (-a) 显示系统信息
(3) 线程/进程/内存/网络/磁盘使用情况
a top 显示当前系统中耗费资源最多的进程(ctrl+c退出)
b ps 显示瞬间的进程状态,和top的区别就是只获取当前瞬间的进程,获取之后将不会实时变化。
c du (-h) 目录/文件 显示指定的文件(目录)已使用的磁盘空间的总量
d df (-h) 显示文件系统磁盘的使用
e free (-s2) 显示当前内存和交换空间的使用情况(两秒刷新一次)(ctrl+c退出)
f ifconfig 显示网络接口信息
g ping 测试网络的连通性 h netstat 显示网络状态信息
(4) man '命令' 命令帮助信息查询 (q退出)
(5) alias '别名' ='指令名' 设置命令别名 unalias '别名' 删除别名
(6) clear 清屏
(7) kill 杀死一个进程
(8) 关机/重启命令
a shutdown 系统关机
a.1 -r 关机后重启 a.2 -h 关机后不重新启动 a.3 now 立即关机
b halt 关机后关闭电源
c reboot 重启心动
7.Linux目录结构
1. bin 存放二进制可执行文件(ls,cat,mkdir,chmod)
2. boot 存放用于系统引导时使用的各种文件
3. data 数据文件夹,某些操作产生的临时文件夹
4. dev 用于存放设备文件
5. etc 存放系统配置文件
6. home 存放所有用户文件的根目录
7. lib 存放跟文件系统中的程序运行所需要的共享库以及内核模块
8. lib64
9. lost+found 使用标准的ext2/ext3档案系统格式才会产生一个目录,目的在于当档案发生错误时,将一些遗失的片段放置在这里目录下。
10. media 软碟,光碟,DVD等挂载于此处
11. mnt 系统管理员安装临时文件系统的安装点
12. opt 额外安装的可选应用程序包所放置的位置
13. proc 虚拟文件系统,存放当前内存的映射
14. root 超级用户目录
15. sbin 存放二进制可执行文件,只有root才能访问
16. selinux
17. srv 网络服务启动之后,这些服务所需要取用的资料目录,常见的服务ftp
18. sys 虚拟的档案系统,记录与核心相关的咨询,包括目前载入的核心模组等,这个目录不占用硬盘容量
29. tmp 用于存放各种临时文件
20. usr 用于存放系统应用程序,比较重要的目录/usr/local本地管理员软件安装目录
21. var 用于存放运行时需要改变数据的文件
以上内容属于自己对Linux学习的一些笔记,后面用到的话会持续整理中,如有错误,欢迎大家留言
pdf下载地址:http://pan.baidu.com/s/1qYHyo2o