慕课网Linux达人养成计划学习笔记

本文是我在慕课网学习《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.log
cat /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 bols
mkdir -p japan/cangls
touch [文件名]		//创建一个文件
cd [目录]        //切换目
例如	
cd japan/cangls
cd ~	 进入当前用户的家目录
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 ls
whereis -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,但不是Batman
grep '\<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 --help
help cd

说明
在info命令中
回车   进入子帮助页面(带有*号标记)
U     进入上层页面
n     进入下一个帮助小节
p     进入上一个帮助小节
q	  退出

##2.6压缩与解压缩命令
###2.6.1 zip格式

zip [压缩文件名] [原文件]
zip -r [压缩文件名] [原目录]
unzip [压缩文件]
例如
zip longzls.zip longzls
zip -r jp.zip jp
unzip 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 longzls
tar -zcvf jp.tar.gz jp
tar -jcvf jp.tar.bz2 jp
tar -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.tar
tar -zxvf jp.tar.gz
tar -jxvf jp.tar.bz2
tar -jxvf jp.tar.bz2 -C /tmp/    指定解压到tmp目录下
	-z    解压缩.tar.gz格式
	-j    解压缩.tar.bz2格式
	-x    解打包
	-t    查看

##2.7 关机和重启命令

shutdown [选项] [时间]
例如	
shutdown -r now
	-c    取消前一个关机命令
	-h    关机
	-r    重启

其他关机命令

halt
poweroff
init 0

其他重启命令

reboot
init 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 用户登录查看命令
查看用户信息
w
who

名词解释
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 -a
df -lhT
df -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
fdisk

GPT分区模式,主分区不超过128个,单个分区容量最大18EB	
parted	
		
设备分区
fdisk -l	      查看插入的硬件设备,如查看到硬盘是/dev/sdb
fdisk /dev/sdb	  进入sdb分区模式,输入m查看帮助信息输入n新建一个分区,之后要选p(主分区)或e(扩展分区),之后指定一个编号,
                  之后指定扇区开始与终止地址,创建一个e之后,要在扩展分区里分逻辑分区,删除分区输入d输入w结束,确定分区		
parted
select /dev/sdc	  切换到第三块硬盘
mklable gpt		  指定分区类型为gpt,输入print,查看当前分区信息
mkpart			  新建一个分区,之后输入分区名称之后输入文件系统类型ext2等等之后输入开始位置MB为单位或者直接输入一行命令搞定
mkpart test 2000 3000
quit			  退出,其实每一次分区都已经确定了,不像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 0
umount /mnt/imooc			卸载挂载点
		  
交换分区
新建一个普通的Linux分区,修改分区类型的16进制编码,格式化交换分区,启用交换分区fdisk /dev/sdb进入硬盘分区,输入t,
之后选择要修改的分区编号输入L可以查看分区类型列表,找到82是交换分区,输入82,再输入w保存
mkswap /dev/sdb6		格式化交换分区/dev/sdb6
swapon /dev/sdb6		启用交换分区
free					查看交换分区状况
swapoof /dev/sdb6	    停用交换分区

#5 用户与用户组
##5.1 当前系统中所有用户组信息
路径
/etc/group

Group		   组名称
x	 		   组密码占位符
123  		   组编号,0是root,1-499是其他,手动创建的是200开始
abc,def,xyz    组中用户名列表,为空则是只有一个用户

##5.2 当前系统中用户组的密码信息
路径
/etc/gshadow

Group		   组名称
*			   组密码
			   组管理者,一般情况下为空
abc,def,xyz    组中用户名列表			

##5.3 当前系统中所有用户的信息
路径
/etc/password

user	      用户名
x	     	  密码占位符
123	     	  用户编号
426	     	  用户组编号
xxx	          用户注释信息
/home/user    用户主目录
/bin/bash	  shell类型

##5.4 当前系统中所有用户的密码信息
路径
/etc/shadow

user		用户名
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 sexy
groupmod -n market sexy
groupmod -g 666 sexy
groupadd -g 888 boss
useradd -g sexy cangls
useradd -d /home/xxx imooc
usermod -c dgdzmx cangls
usermod -l sdf cangls
usermod -d /home/sdf sdf
usermod -g sexy imooc
userdel sdf

##5.6 进阶命令

passwd -l [用户名]					  //锁定用户,锁定之后无法登录
passwd -u [用户名]					 //解锁用户
passwd -d [用户名]				    //无需密码登录
gpasswd -a [用户名] [附属组名]		 //将用户添加进附属组中,一个用户可以属于一个主用户组和多个附属用户组
gpasswd -d [用户名] [附属组名]	    //将用户移除附属组
newgrp [附属组名]				 //切换身份到到附属组,要输入组密码
useradd -g [主组名] -G [附属组名],[附属组名]	//将用户同时添加到主组和多个附属组中,用逗号隔开
gpasswd [组名]						     //修改组密码,输入之后会弹出输入密码提示
例如
passwd -l cls
gpasswd -a cls boss
useradd -g group1 -G group2,group3,group4

##5.7 其他命令

su [用户名]			//切换用户身份,不输入用户名切换到root,普通账户切换需要密码
Whoami				 //显示当前登录用户的用户名
id [用户名]		  //显示指定用户信息
groups [用户名]	 //显示用户所在的所有组
chfn [用户名]		//设置用户资料,依次输入用户资料
finger [用户名]   //显示用户详细信息
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值