小白的Linux学习笔记(偏实战向)

本文介绍了Linux的基本目录结构,如/bin、/etc等,详细讲解了Linux的文件权限模型,包括用户和组的权限设定。此外,列举了一系列常用的Linux命令,涉及系统信息查看、关机重启、文件操作和系统管理等方面。还提到了软件包管理工具如apt和yum的使用,以及网络和进程管理的相关命令。最后,简要介绍了VIM编辑器的不同模式及基本操作。
摘要由CSDN通过智能技术生成

Linux基础知识

Linux目录结构

  • /bin:是Binary的缩写,这个目录存放着最经常使用的命令
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /home:普通用户的主目录。一般以用户名命名
  • /root:系统管理员瞩主目录
  • /lib:系统的共享库
  • /etc:系统的配置文件和子目录
  • /usr:用户的应用程序和文件
  • /boot:LInux启动的核心文件
  • /proc:虚拟的目录,是系统内存的映射,可以通过此目录来获取系统信息
  • /srv:service缩写,目录存放服务启动后需要提取的数据
  • /sys:安装llinux内核2.6后新出现的文件系统sysfs
  • /tmp:存放临时文件
  • /dev:此目录把所有硬件用文件的方式存储
  • /mnt:挂在别的文件系统,外部存储挂载
  • /opt:安装应用程序的目录
  • /var:放不断扩充的东西,经常修改的文件放此目录,例如日志文件

Linux权限

10个槽位分别是:

  • 第0为:第一个字符代表这个文件是目录、文件或链接文件等等

    ’-‘代表文件
    d 代表目录
    l 链接文档(link file);

  • 第1-3位确定属主(该文件的所有者)拥有该文件的权限。—User
  • 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,—Group
  • 第7-9位确定其他用户拥有该文件的权限—Other

0:无任何权限, 即 —
1:仅有x权限, 即 --x
2:仅有w权限 即 -w-
3:有w和x权限 即 -wx
4:仅有r权限 即 r–
5:有r和x权限 即 r-x
6:有r和w权限 即 rw-
7:有全部权限 即 rwx

Linux常用命令

查看常用系统信息

arch      #显示机器的处理器架构(1)
uname -m  #显示机器的处理器架构(2)
uname -r  #显示正在使用的内核版本
dmidecode -q          #显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda    #罗列一个磁盘的架构特性
cat /proc/cpuinfo     #显示CPU info的信息
cat /proc/interrupts  #显示中断
cat /proc/meminfo     #校验内存使用

关机重启

sync # 将数据由内存同步到硬盘中
halt # 停机,关闭系统,但不断电
poweroff # 关机,断电
reboot # 重启

shutdown -h now    #关闭系统 相当于poweroff
shutdown -h hours:minutes &   #按预定时间关闭系统
shutdown -c       #取消按预定时间关闭系统
shutdown -r now   #立即重启等同于reboot
reboot   #重启
logout   #注销

系统管理

systemctl
	start 				#启动
	stop 					#关闭
	status 				#查看状态
	enable 				#开启开机自启
	disable 			#关闭开机自启
	list-unit-files #查看服务开机启动状态

ln -s 参1 参2		
	-s						#创建软连接
	参数1					#被链接的文件或文件夹
	参数2					#要链接去的目的地

date 		#查看系统的时间
	-d 		#按照给定的字符串显示日期,一般用于日期计算
	%Y   #年
	%y   #年份后两位数字 (00..99)
	%m   #月份 (01..12)
	%d   #日 (01..31)
	%H   #小时 (00..23)
	%M   #分钟 (00..59)
	%S   #秒 (00..60)
	%s   #自 1970-01-01 00:00:00 UTC 到现在的秒数

# 环境变量
export
env:						 #查看当前系统中记录的环境变量
source 文件名			#读取并执行文件中的命令,可以实用.来代替

文件操作

#目录操作
cd ..       #返回上一级目录
cd ../..    #返回上两级目录
cd -      	#返回上次所在的目录
cd -P    		#返回实际物理路径
cd ~或 cd		#返回home目录

pwd        #显示当前工作路径

ls      #查看目录中的文件
ls -F   #查看目录中的文件
ls -l   #显示文件和目录的详细资料,可以简写ll
ls -a   #显示隐藏文件
ls -h   #可以以合适的单位查看文件大小
ls *[0-9]*   #显示包含数字的文件名和目录名

mkdir dir1         #创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2    #同时创建两个目录
mkdir -p						#递归创建多层目录,后面可以加多层目录

touch 			#创建新的文件
touch -t 0712250000 file1   #修改一个文件或目录的时间戳 - (YYMMDDhhmm)

rm -f 文件名    #删除一个叫做 'file1' 的文件'
rmdir dir1     #删除一个叫做 'dir1' 的目录'
	-rf dir1    #删除一个叫做 'dir1' 的目录并同时删除其内容
	-rf dir1 dir2    #同时删除两个目录及它们的内容
	-r					#递归删除目录中所有内容
	
mv dir1 new_dir     #重命名/移动 一个目录/文件

cp 文件名 文件名     #复制一个文件
	dir/* .         #复制一个目录下的所有文件到当前工作目录
	-a /tmp/dir1 .   #复制一个目录到当前工作目录
	-a dir1 dir2     #复制一个目录
	-r								#递归复制整个文件夹

ln -s 文件名 lnk1  #创建一个指向文件或目录的软链接
ln 文件名 lnk1     #创建一个指向文件或目录的物理链接


# 文件操作
cat 文件名     #从第一个字节开始正向查看文件的内容
	-n					#显示所有行的行号,包括空行。
tac 文件名      #从最后一行开始反向查看一个文件的内容
more 文件名     #查看一个长文件的内容
	space空格 #向下翻页
	Enter回车 #向下一行
	q					#离开more
	Ctrl+F 		#向下滚动一屏
	Ctrl+B 		#返回上一屏
	= 				#输出当前行的行号
	:f 				#输出文件名和当前行的行号
	
tail				
	-n				#查看一个文件的最后n行
	-f				#实时查看被添加到一个文件中的内容
	
less				#类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -n 		#查看一个文件的前n行

sort 文件1 文件2				#排序两个文件的内容

# 文件属性
- 使用 "+" 设置权限,使用 "-" 用于取消
chattr +a file1   #只允许以追加方式读写文件
	+c file1   #允许这个文件能被内核自动压缩/解压
	+d file1   #在进行文件系统备份时,dump程序将忽略这个文件
	+i file1   #设置成不可变的文件,不能被删除、修改、重命名或者链接
	+s file1   #允许一个文件被安全地删除
	+S file1   #一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
	+u file1   #若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr           #显示特殊的属性

> result.txt #覆盖写入一个新文件中
>> result.txt #追加写入一个已有的文件中

echo #输出内容到控制台

#组合使用管道符grep、sed、awk、uniq等举例
grep 
	Aug /var/log/messages     #在文件 '/var/log/messages'中查找关键词"Aug"
	^Aug /var/log/messages    #在文件 '/var/log/messages'中查找以"Aug"开始的词汇
	[0-9] /var/log/messages   #选择 '/var/log/messages' 文件中所有包含数字的行
	Aug -R /var/log/*         #在目录 '/var/log' 及随后的目录中搜索字符串"Aug"

sed 's/stringa1/stringa2/g' example.txt #将example.txt文件中的 "string1" 替换成 "string2"
sed '/^$/d' example.txt           #从example.txt文件中删除所有空白行
sed '/ *#/d; /^$/d' example.txt   #从example.txt文件中删除所有注释和空白行
echo 'esempio' | tr '[:lower:]' '[:upper:]'    #合并上下单元格内容
sed -e '1d' result.txt          #从文件example.txt 中排除第一行
sed -n '/stringa          #查看只包含词汇 "string1"的行
sed -e 's/ *$//' example.txt    #删除每一行最后的空白字符
sed -e 's/stringa1//g' example.txt  #从文档中只删除词汇 "string1" 并保留剩余全部
sed -n '1,5p;5q' example.txt     #查看从第一行到第5行内容
sed -n '5p;5q' example.txt       #查看第5行
sed -e 's/00*/0/g' example.txt   #用单个零替换多个零

sort file1 file2 | uniq       #取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u    #删除交集,留下其他的行
sort file1 file2 | uniq -d    #取出两个文件的交集(只留下同时存在于两个文件中的文件)

cat example.txt | awk 'NR%2==1'      #删除example.txt文件中的所有偶数行
echo a b c | awk '{print $1}'        #查看一行第一栏
echo a b c | awk '{print $1,$3}'     #查看一行的第一和第三栏
paste file1 file2           #合并两个文件或两栏的内容
paste -d '+' file1 file2    #合并两个文件或两栏的内容,中间用"+"区分
       
comm -1 文件1 文件2     #比较两个文件的内容只删除 '文件1' 所包含的内容
comm -2 文件1 文件2  		#比较两个文件的内容只删除 '文件2' 所包含的内容
comm -3 文件1 文件2     #比较两个文件的内容只删除两个文件共有的部分

搜索查找

find 范围 -参数
	-name					#文件名查找
	-user 用户名 	#指定用户名所有文件
	-size 文件大小 #按指定大小查找,+大于、-小于,无符号为等于
	
locate 					#基于数据库进行查询,不需要遍历整个文件系统,查询速度较快,必须使用updatedb建数据库

grep 						#过滤查找
	-n 						#显示匹配行及行号。
	
whereis					#显示一个二进制文件、源码或man的位置
which						#显示一个二进制文件或可执行文件的完整路径

用户与权限

# 用户与用户组管理
passwd         #修改口令
passwd 用户名   #修改一个用户的口令 (只允许root执行)

# 用户管理
useradd 
	-g -d 用户名							#-g 用户组名 -d 用户名
userdel 
	-r 用户名					#删除用户,-r排除主目录
id 用户名									#查看用户所属组		
usermod -aG:								#修改用户所属组

su - 用户名 				#账户切换的系统命令
sudo 							#命令授权,临时以root身份执行

# 用户组管理
groupadd 用户组名						#添加用户组
groupdel 用户组名						#删除用户组
groupmod -n new_group_name old_group_name   #重命名一个用户组

getent
getent passwd 	#查看当前系统中有哪些用户
getent group		#查看当前系统中有哪些用户组

chmod 					#修改文件、文件夹的权限信息,只有文件、文件夹的所属用户或root用户可以修改
	-R 权限 文件或文件夹		#对文件夹内的全部内容应用同样的操作
	#示例
	chmod 751 hello.txt,将hello.txt的权限修改为751
	chmod -R u=rwx,g=rx,o=x test,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x
	
chown 					#修改文件、文件夹的所属用户和用户组,此命令只适用于root用户执行
	-R						#同chmod,对文件夹内全部内容应用相同规则

软件安装(软件包管理)

#ubuntu发行版
apt [-y] [install | remove | search]

#CentOS发行版
#yum( Yellow dog Updater, Modified)Shell 前端软件包管理器。
yum [-y] [install | remove | search] 包名# 可以自动解决依赖问题
		-y 							# 自动确认,无需手动确认安装或卸载过程
		install 				# 安装
		remove				 	# 卸载
		search 					# 搜索
		list 						#列出当前系统中安装的所有包
		check-update 		#列出所有可更新的软件
		clean 					#清除软件包
			
		

网络与进程

#网络
ifconfig # 查看本机的ip地址
hostname # 查看主机名

ping -c num # ip或域名主机名
	-c,检查的次数,不使用-c选项,将无限次数持续检查
	参数:ip或主机名,被检查的服务器的ip地址或主机名地
	
rz 		#进行上传,语法:直接输入rz即可
sz 		#下载文件

wget
	-b		#可选,后台下载,会将日志写入到当前工作目录的wget-log文件
	
curl
	-L URL -o 文件路径	#

#进程
top #监控查看CPU、内存使用情况
	-d #刷新时间,默认3s
	-i #不显示闲置和僵死进程
	-p #通过指定监控进程ID 来仅仅监控某个进程的状态。
	
kill -9 进程id #杀掉进程
	-9 #表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
	
netstat 
	-anp | grep 端口号:查看指定端口的占用情况

ps #查看输出命令当时进程信息
	-a #列出带有终端的所有用户的进程
	-x #列出当前用户的所有进程,包括没有终端的进程
	-u #面向用户友好的显示风格
	-e #列出所有进程
	-f #显示完整格式的进程列表
	#常用ps -aux和ps -ef
	ps -aux #查看进程的CPU 占用率和内存占用率,可以使用aux
	ps -ef #想查看进程的父进程ID 可以使用ef
	#ps -aux从左到右分别是:
	USER:该进程是由哪个用户产生的
  PID:进程的ID 号
  %CPU:该进程占用CPU 资源的百分比,占用越高,进程越耗费资源;
  %MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
  VSZ:该进程占用虚拟内存的大小,单位KB;
  RSS:该进程占用实际物理内存的大小,单位KB;
  TTY:该进程是在哪个终端中运行的。对于CentOS 来说,tty1 是图形化终端,
  tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
  STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、
  Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示
  START:该进程的启动时间
	#ps -ef从左到右分别是:
	UID:进程所属的用户ID
	PID:进程的进程号ID
	PPID:进程的父ID(启动此进程的其它进程)
	C:此进程的CPU占用率(百分比)
	STIME:进程的启动时间
	TTY:启动此进程的终端序号,如显示?,表示非终端启动
	TIME:进程占用CPU的时间
	CMD:进程对应的名称或启动路径或启动命令

文件压缩

tar #打包压缩tar包
	-c #创建压缩文件,用于压缩模式
	-v #显示压缩、解压过程,用于查看进度
	-x #解压模式
	-f #要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个
	-z #gzip模式,不使用-z就是普通的tarball格式
	-C #选择解压的目的地,用于解压模式
	常用组合为
	#压缩
		tar -zcvf test.tar.gz 1.txt 2.txt 3.txt
  #解压
		tar -zxvf houma.tar.gz
zip
unzip

控制台实用操作

ctrl + c 		# 强制停止
ctrl + d 		# 退出或登出
history 		# 查看历史输入过的命令
!命令前缀			# 自动执行上一次匹配前缀的命令
ctrl + r,		# 输入内容去匹配历史命令
	# 回车键可以直接执行
	# 键盘左右键,可以得到此命令(不执行)
ctrl + a | e,# 光标移动到命令开始或结束
ctrl + e,		# 跳到命令结尾
ctrl + ← | →,# 左右跳单词
ctrl + l,		# 可以清空终端内容

VIM编辑器

模式

  • 一般模式
  • 编辑模式
  • 命令行模式

常用命令

普通模式常用命令
命令效果
dd删除整行
yw复制一个词
dw删除一个词
u撤销上一步
x剪切一个字母,相当于del
X剪切一个字母,相当于Backspace
shift+6(^)移动到行头
shift+4 ($)移动到行尾
数字+shift+g移动到目标行
gg游标移动到第一行
G游标移动到最后一行
编辑模式常用命令
命令效果
i在当前光标处进行编辑
I在行首插入
A在行末插入
a在光标后插入编辑
o在当前行后插入一个新行
O在当前行前插入一个新行
cw替换从光标所在位置到一个单词的结尾字符
命令行模式的命令
命令效果
:q!强制退出vim,不保存
:q退出vim
:wq!强制保存并退出vim
:w <文件路径>另存为
:saveas <文件路径>另存为
:x保存并退出vim
:wq保存并退出vim
:set nu显示行号
:set nonu关闭行号
//后加要查找的词,n 查找下一个,N 往上查找
:%s/old/new/g替换内容,/g 替换匹配到的所有内容

参考

[肝货| 有了这个速查手册,还怕Linux命令记不住?][https://mp.weixin.qq.com/s/Kog6AfXYINIDwKMpJMkGFQ]

[菜鸟教程][https://www.runoob.com/linux/linux-yum.html]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值