慕课网Linux达人养成计划学习笔记
来源:互联网 发布:中文校对软件 编辑:程序博客网 时间:2024/06/01 10:19
本文是我在慕课网学习《Linux达人养成计划》的学习笔记,特别整理出来分享给大家。
1 基础知识
1.1 网站服务器使用分析
可以看网站是使用什么服务器
1.2 Linux严格区分大小写
Linux中所有内容以文件形式保存,包括硬件Linux不靠扩展名区分文件类型
1.3 分区类型
主分区 :最多只能4个扩展分区:最多只能1个,主分区加扩展分区最多有4个,不能泄露数据,只能包含逻辑分区逻辑分区:最多可以有23个
1.4 格式化
又称逻辑格式化,它是指根据用户选定的文件系统,如FAT16(单个文件最大2GB),FAT32(单个文件最大4GB),NTFS(单个文件最大64GB)
2 Linux常用命令
2.1 命令基本格式
命令 [选项] [参数] //个别命令使用不遵循此格式按两下tab键出现补全ls [选项] [文件或目录] //查询目录中的内容cat [文件名或目标目录] //查看文件内容
例如ls -lh install.logcat /etc/inittab -a 显示所有文件,包括隐藏文件 -l 显示详细信息,快捷直接敲ll -d 查看目录属性 -h 人性化显示文件大小 -i 显示inode文件权限说明-rw-r--r-- (r:读,w:写,x:执行) - -表示普通文件,d表示目录,l表示软链接文件(快捷方式) rw- u所有者 r-- g所属组 r-- o其他人
2.2 文件处理命令
2.2.1目录处理命令
mkdir -p [目录] //建立目录,-p表示递归创建
例如mkdir bolsmkdir -p japan/cangls
touch [文件名] //创建一个文件
cd [目录] //切换目
例如 cd japan/canglscd ~ 进入当前用户的家目录cd 进入当前用户的家目录cd - 进入上次目录cd .. 进入上一级目录cd . 进入当前目录相对路径,参照当前所在目录,进行查找,例如 cd ../user/local/src/绝对路径,从根目录开始指定,一级一级递归查找,在任何目录下,都能进入指定位置,例如cd /etc/
pwd //查看当前目录
rmdir [目录] //删除空目录
rm -rf [文件或目录] //删除文件或目录,-r删除目录,-f强制(系统不再询问时候删除)
cp [选项] [原文件或目录] [文件名或目标目录] //复制文件命令
例如cp anaconda-ks.cfg /tmp/ana (ana为重命名)cp -r japan/ /tmp/ -r 复制目录 -p 连带文件属性复制,比如创建时间 -d 若源文件是链接文件,则复制链接属性 -a 相当于 -pdr 一般用这个
mv [原文件或目录] [文件名或目标目录] //剪切或改名命令,在同一个目录就是改名
ln -s [原文件] [目标文件] //创建链接命令
-s 创建软链接,不加s则创建硬连接 软链接删除原文件之后,链接文件不能再打开,但是硬连接能,不推荐创建硬连接,原文件路径要写绝对路径
2.2.2 文件搜索命令
locate [文件名] //文件搜索
在后台数据库中按文件名搜索,搜索速度快,数据库一天更新一次,用updatedb命令更新,不会搜索tmp目录下的文件规则具体看/etc/updatedb.conf
find [搜索范围] [搜索条件] //find搜索
例如find / -name install.log 避免大范围搜索,会非常耗费系统资源find /root -name “install.log*”find /root -name “*[cd]” 表示搜索root目录下文件名以c或d结尾的文件find /var/log/ -mtime +10 查找10天前修改的文件find /root -size -22k 查找小于22k的文件find . -inum 262422 查找i节点是262422的文件,点号代表当前目录find /etc -size +20k -a -size -20k 查找/etc/目录下,大于20kb并且小于20kb的文件find /etc -size +20k -a -size -20k -exec ls -lh {} \; 查找文件,并显示详细信息 -name 按文件名搜索 -iname 不区分大小写 -user root 按所有者root搜索 -nouser 查找没有所有者的文件 -atime 文件访问时间 -ctime 改变文件属性时间 -mtime 修改文件内容时间 -size 按文件大小搜索 -inum 按节点查找 -a and,两个条件都满足 -o or,满足一个条件即可 -exec/-ok 命令 {}\; 对搜索结果执行操作说明 find是在系统当中搜索符合的文件名,必须完全一样。如果需要匹配,使用通配符匹配,通配符是完全匹配 * 匹配任意内容 ? 匹配任意一个字符 [] 匹配任意一个中括号内的字符 -10 10天内修改文件 10 10天当天修改的文件 +10 10天前修改的文件 -22k 小于22k的文件 22k 等于22k的文件 +22k 大于22k的文件
2.3 命令搜索
whereis [选项] [命令名]which [命令名] //搜索命令所在路径及别名
例如 whereis lswhereis -b ls-b 只查找可执行文件-m 只查找帮助文件,不加选项都查找
2.4 字符串搜索
grep [选项] [字符串] [文件名]
例如 grep "size" anaconda-ks.cfg 在文件anaconda-ks.cfg中查找包含size的行grep -v "size" anaconda-ks.cfg 在文件anaconda-ks.cfg中查找不包含size的行grep -rn "man" * 递归查找当前目录与子目录文件中包含man的行grep man * 匹配Batman、manic、man等grep '\<man' * 匹配manic和man,但不是Batmangrep '\<man\>' * 只匹配man -i 忽略大小写 -v 排除指定字符串 -c 显示匹配到的行的数目,而不是显示行的内容 -h 不显示文件名 -l 只列出匹配行所在文件的文件名 -r 查找所有文件包含子目录 -n 在每一行前面加上它在文件中的相对行号 -v 反向查找,只显示不匹配的行 * 表示当前目录所有文件,也可以是某个文件名说明grep是包含匹配,含有那个字符串就可以,使用正则表达式匹配\< 和 \> 分别标注单词的开始与结尾'^':指匹配的字符串在行首'$':指匹配的字符串在行尾
2.5 帮助命令
man [选项] [命令] //获取指定命令的帮助
例如man ls 查看ls的帮助man -f password 查看password命令的级别man 2 password 进入2级别的password命令帮助man -k password 查看与password相关的所有命令帮助whereis ls 查看ls命令所在的目录 -f 查看命令级别 -k 查看和命令相关的所有命令帮助说明在帮助页面,输入d,可以查到包含d的命令,按n可以向下条,按N可以向上条级别1、查看命令的帮助2、查看可被内核调用的函数帮助3、查看函数和函数库的帮助4、查看特殊文件的帮助(主要是/dev目录下的文件)2、查看配置文件的帮助6、查看游戏的帮助7、查看其他杂项的帮助8、查看系统管理员可用命令的帮助9、查看和内核相关文件的帮助
其他帮助命令
info [命令名] //详细命令帮助help [shell内部命令][命令] --help
例如ls --helphelp cd说明在info命令中回车 进入子帮助页面(带有*号标记)U 进入上层页面n 进入下一个帮助小节p 进入上一个帮助小节q 退出
2.6压缩与解压缩命令
2.6.1 zip格式
zip [压缩文件名] [原文件]zip -r [压缩文件名] [原目录]unzip [压缩文件]
例如zip longzls.zip longzlszip -r jp.zip jpunzip jp.zip
2.6.2 gzip格式
gzip [原文件] //压缩为.gz格式的文件,原文件会消失gzip -c [原文件] > [压缩文件] //压缩为.gz格式的文件,原文件保留,-c是输出文件到指定位置gzip -r [目录] //挨个压缩目录下的所有子文件,不能压缩目录gunzio [压缩文件] //解压.gzip文件gunzio -r [压缩的目录] //挨个解压目录下的gzip文件
例如gizp -c cangls > cangls.gz
2.6.3 bzip2格式
bzip2 [原文件] //压缩为.bz2格式的文件,原文件不保留bzip2 -k [原文件] //压缩为.bz2格式的文件,保留原文件,注意不能压缩目录bunzip2 [压缩文件] //解压.bz2文件,不保留原压缩文件bunzip2 -k [压缩文件] //解压.bz2文件,保留原压缩文件
2.6.4 打包命令
tar -cvf [打包文件名] [原文件] //之后再用gzip或bzip2就可以压缩目录tar -zcvf [压缩包名.tar.gz] [原文件] //一步完成打包压缩tar -jcvf [压缩包名.tar.bz2] [原文件] //一步完成打包压缩
例如tar -cvf longzls.tra longzlstar -zcvf jp.tar.gz jptar -jcvf jp.tar.bz2 jptar -zcvf /tmp/test.tar.gz jp anaconda-ks.cfg 压缩多个目录与文件到指定目录下 -z 压缩为.tar.gz格式 -j 压缩为.tar.bz2格式 -c 打包 -v 显示过程 -f 知道打包后的文件名
2.6.5 解包命令
tar -xvf [打包文件名] //解包tar -zxvf [压缩包名.tar.gz] //一步解包解压缩tar -jxvf [压缩包名.tar.bz2] //一步解包解压缩tar -ztvf [压缩包名.tar.gz] //查看压缩包中内容
例如tar -xvf longzls.tartar -zxvf jp.tar.gztar -jxvf jp.tar.bz2tar -jxvf jp.tar.bz2 -C /tmp/ 指定解压到tmp目录下 -z 解压缩.tar.gz格式 -j 解压缩.tar.bz2格式 -x 解打包 -t 查看
2.7 关机和重启命令
shutdown [选项] [时间]
例如 shutdown -r now -c 取消前一个关机命令 -h 关机 -r 重启
其他关机命令
haltpoweroffinit 0
其他重启命令
rebootinit 6
查看运行级别
runlevel
退出远程登录
logout //退出服务器的时候一定要退出登录
2.8 其他常用命令
2.8.1 查询与自动挂载
mount //查询系统已经挂载的设备mount -a //依据配置文件/etc/fstab的内容,自动挂载mount [-t文件系统] [-o特殊选项] [设备名] [挂载点]
2.8.2 挂载光盘
mkdir /mnt/cdrom //建立挂载点(新建盘符)mount -t iso9660 /dev/sr0 /mnt/cdrom/ //挂载光盘,系统默认知道光盘是-t iso9660,可以不写umount [设备文件名或挂载点] //卸载命令
例如umount /mnt/cdrom/
2.8.3 挂载U盘
fdisk -l //查看U盘设备文件名mount -t vfat /dev/sdb1 /mnt/usb/
2.8.4 用户登录查看命令
查看用户信息wwho名词解释USER 登录的用户名TTY 登录终端FROM 从哪个IP地址登录LOGIN@ 登录时间IDLE 用户闲置时间JCPU 指该终端链接的所有进程占用的时间PCPU 是指当前进程所占用的时间WHAT 当前正在运行的命令其他命令last 查询当前和过去登录的所有用户信息lastlog 查看所有用户最后登录时间
3 VIM编辑器
Command Mode 命令模式,处于该模式下输入i进入到输入模式Insert Mode 输入模式,按下ESC进入底行模式Last line Mode 底行模式,输入:wq退出vim
3.1 vim命令
vim [文件名] //普通方式打开vim + [文件名] //打开文件后把光标定位在最后一行vim +3 [文件名] //打开文件后把光标定位在第3行vim +/xxx [文件名] //打开文件后把光标定位在xxx第一次出现的那一行,按n可在多个xxx之间切换viw aa bb cc //一次打开或创建多个文件(这里有aa bb cc三个文件),在底部输入:n下一个文件,输入:N上一个文件
3.2 底行模式指令
:w 保存修改:q 退出当前vim打开的文件:! 强制执行:ls 列出当前编辑器打开的所有文件:n 切换到下一个文件:N 切换到上一个文件:x 把光标定位到第x行/xxx 向光标后搜索xxx?xxx 向光标前搜索xxx
3.3 命令模式指令
h 光标左移j 光标下移k 光标上移l 光标右移ctrl + f 向下翻页ctrl + b 向上翻页ctrl + d 向下翻半页ctrl + u 向上翻半页dd 删除光标所在行o 在光标所在行的下方插入一行并切换到输入模式yy 复制光标所在行p 在光标所在行的下方粘贴P 在光标所在行的上方粘贴
4 磁盘管理
4.1 查看磁盘分区使用
df [选项]
例如df -adf -lhTdf -lhT -t ext4 只显示ext4分区的磁盘df -lhT -x ext4 不显示ext4分区的磁盘 -l 仅显示本地磁盘(默认) -a 显示所有文件系统的磁盘使用情况,包含比如/proc/ -h 以1024进制计算最合适的单位显示磁盘容量 -H 以1000进制计算最合适的单位显示磁盘容量 -T 显示磁盘分区类型 -t 显示指定类型文件系统的磁盘分区 -x 不显示指定类型文件系统的磁盘分区
4.2 统计磁盘上的文件大小
du [选项]
例如 du 统计所有文件du -s ratchet/ 统计ratchet目录下的文件du -sb *.zip 统计当前文件夹下.zip结尾的文件 -b 以byte为单位统计文件 -k 以KB为单位统计文件 -m 以MB为单位统计文件 -h 按照1024进制以最合适的单位统计文件 -H 按照1000进制以最合适的单位统计文件 -s 指定统计目标
4.3 磁盘分区
MBR分区模式,主分区不超过4个,单个分区容量最大2TB fdiskGPT分区模式,主分区不超过128个,单个分区容量最大18EB parted 设备分区fdisk -l 查看插入的硬件设备,如查看到硬盘是/dev/sdbfdisk /dev/sdb 进入sdb分区模式,输入m查看帮助信息输入n新建一个分区,之后要选p(主分区)或e(扩展分区),之后指定一个编号, 之后指定扇区开始与终止地址,创建一个e之后,要在扩展分区里分逻辑分区,删除分区输入d输入w结束,确定分区 partedselect /dev/sdc 切换到第三块硬盘mklable gpt 指定分区类型为gpt,输入print,查看当前分区信息mkpart 新建一个分区,之后输入分区名称之后输入文件系统类型ext2等等之后输入开始位置MB为单位或者直接输入一行命令搞定mkpart test 2000 3000quit 退出,其实每一次分区都已经确定了,不像fdisk输入w才分
4.4 格式化分区
命令mkfs.ext3 /dev/sdb1 将sdb1格式化为ext3文件系统mkfs -t ext4 /dev/sdb2 将sdb2格式化为ext4文件系统挂载分区mkdir -p /mnt/imooc 新建挂载点mount /dev/sdb1 /mnt/imooc 挂载,自己挂载的每次系统启动不会知道自动挂载,可以修改fsatb文件使用vim +/etc/fstab命令打开 在最后一行输入/dev/sdb1/mnt/imooc ext3 defaults 0 0umount /mnt/imooc 卸载挂载点交换分区新建一个普通的Linux分区,修改分区类型的16进制编码,格式化交换分区,启用交换分区fdisk /dev/sdb进入硬盘分区,输入t,之后选择要修改的分区编号输入L可以查看分区类型列表,找到82是交换分区,输入82,再输入w保存mkswap /dev/sdb6 格式化交换分区/dev/sdb6swapon /dev/sdb6 启用交换分区free 查看交换分区状况swapoof /dev/sdb6 停用交换分区
5 用户与用户组
5.1 当前系统中所有用户组信息
路径 /etc/groupGroup 组名称x 组密码占位符123 组编号,0是root,1-499是其他,手动创建的是200开始abc,def,xyz 组中用户名列表,为空则是只有一个用户
5.2 当前系统中用户组的密码信息
路径 /etc/gshadowGroup 组名称* 组密码 组管理者,一般情况下为空abc,def,xyz 组中用户名列表
5.3 当前系统中所有用户的信息
路径/etc/passworduser 用户名x 密码占位符123 用户编号426 用户组编号xxx 用户注释信息/home/user 用户主目录/bin/bash shell类型
5.4 当前系统中所有用户的密码信息
路径 /etc/shadowuser 用户名password 密码......
5.5 组命令
groupadd [组名] //创建组名 groupmod -n [新组名] [原组名] //修改组名groupmod -g [组编号] [组名] //修改组编号groupadd -g [组编号] [组名] //创建组的时候指定编号groupdel [组名] //删除组,必须先清空用户useradd -g [组名] [用户名] //往用户组里添加用户useradd -d [目录] [用户名] //创建用户的时候指定个人文件夹,没有指定用户组,默认创建与用户名相同的用户组usermod -c [备注信息] [用户名] //为用户添加注释usermod -l [新用户名] [原用户名] //修改用户名称usermod -d [目录] [用户名] //修改用户个人文件夹usermod -g [组名] [用户名] //移动用户到该组中userdel [用户名] //删除用户userdel -r [用户名] //删除用户的时同时删除个人文件夹touch /etc/nologin //禁止root用户外的普通用户登录
例如 groupadd sexygroupmod -n market sexygroupmod -g 666 sexygroupadd -g 888 bossuseradd -g sexy canglsuseradd -d /home/xxx imoocusermod -c dgdzmx canglsusermod -l sdf canglsusermod -d /home/sdf sdfusermod -g sexy imoocuserdel sdf
5.6 进阶命令
passwd -l [用户名] //锁定用户,锁定之后无法登录passwd -u [用户名] //解锁用户passwd -d [用户名] //无需密码登录gpasswd -a [用户名] [附属组名] //将用户添加进附属组中,一个用户可以属于一个主用户组和多个附属用户组gpasswd -d [用户名] [附属组名] //将用户移除附属组newgrp [附属组名] //切换身份到到附属组,要输入组密码useradd -g [主组名] -G [附属组名],[附属组名] //将用户同时添加到主组和多个附属组中,用逗号隔开gpasswd [组名] //修改组密码,输入之后会弹出输入密码提示
例如passwd -l clsgpasswd -a cls bossuseradd -g group1 -G group2,group3,group4
5.7 其他命令
su [用户名] //切换用户身份,不输入用户名切换到root,普通账户切换需要密码Whoami //显示当前登录用户的用户名id [用户名] //显示指定用户信息groups [用户名] //显示用户所在的所有组chfn [用户名] //设置用户资料,依次输入用户资料finger [用户名] //显示用户详细信息
阅读全文
0 0
- 慕课网Linux达人养成计划学习笔记
- Linux基础学习笔记(Linux达人养成计划 I)
- Linux基础学习笔记(Linux达人养成计划 II)
- <<Linux达人养成计划一>>学习笔记
- <<Linux达人养成计划二>>学习笔记
- Linux达人养成计划I 笔记
- linux 达人养成计划 II笔记
- 慕课网Linux 达人养成计划 I 学习笔记(一)
- 慕课网Linux 达人养成计划 I 学习笔记(二)
- Linux学习笔记——慕课 Linux达人养成计划 I
- linux,Linux达人养成计划,入门基础,笔记
- 慕课网:Linux 达人养成计划_2_ Linux常用命令
- linux达人养成计划:Linux简介
- 慕课网Linux达人养成计划I内容摘记
- 慕课网Linux达人养成计划I内容摘记
- 慕课网Linux达人养成计划I内容摘记
- 慕课网Linux达人养成计划I内容摘记
- 慕课网Linux达人养成计划I内容摘记
- 在http请求中的Content-Type
- GYM 101149 L. Right Build【最短路+思维】经典题
- 8月30日云栖精选夜读:Nodejs进阶:使用DiffieHellman密钥交换算法
- IntelliJ IDEA下MyBatis逆向工程生成工具的使用
- 线性回归,二维
- 慕课网Linux达人养成计划学习笔记
- Session和Cookie的应用场景和区别
- 进程间通信(三)---- 信号量
- 如何用css把a标签的下划线去掉
- MySQL错误:Can't connect to MySQL server (10060)远程连接数据库失败
- log4j和log4j2的简单使用配置
- POJ3347 Kadj Squares(计算几何)
- vue练习,写游戏
- LLC逻辑链路控制子层