zl程序教程

您现在的位置是:首页 >  系统

当前栏目

linux最常用命令汇总(兼linux达人计划笔记)

Linux笔记 汇总 计划 常用命令 达人
2023-09-27 14:29:07 时间

常用命令记录

1.统计文件个数
# 统计某个目录下所有文件(包括文件和目录)个数
# wc命令默认会输出行数、字数(单词数)、字节数
ls -l | wc -l
# 统计某个目录下所有文件夹个数
ls -l | grep "^d" | wc -l
# 统计某个目录下所有文件个数
ls -l | grep "^-" | wc -l

2.文件目录大小
# 查看当前目录总大小
du -sh

# 查看当前目录下所有文件大小
du -h

# 查看当前目录下所有目录的大小
du -lh --max-depth=1
3.挂载
# 查看各个盘挂载情况(包括文件系统类型以及人性化显示)
df -Th

4.终端重定向到文件
# 将命令在终端的输出信息(包括报错信息)写入log.txt中,且终端不会再显示。>>表示追加写,>表示覆盖写,一般会多次写使用>>,2>&1是固定写法
ls -l >> log.txt 2>&1

5.后台运行命令,终端关闭也不影响。显示输出到文件
nohup python test.py >> log.txt 2>&1 &

分区挂载

1、主分区,扩展分区
扩展分区最多有1个,主分区加扩展分区最多有4个
扩展分区的作用是在其中包含更多的逻辑分区
逻辑分区只能从5开始,1234只能给主分区或扩展分区使用

2、格式化
格式化就是写入文件系统

3、linux分区
linux必须分区包括根分区/和swap分区(交换分区,内存2倍,真实内存够大就相等,相当于虚拟内存),推荐分区有/boot(启动分区,200MB)

文件处理命令

//ls命令
-l	显示详细信息
-a	显示所有文件,包括隐藏文件
-d	显示目录属性
-h	人性化显示文件大小
-i	显示inode
ll	等于ls -l
//第一个-表示文件类型,-表示普通文件,d表示目录,l表示链接文件
//后面9个三个一组,u所有者,g所属组,o其他人
//r可读,w可写,x可执行
-rw-r--r--

//递归创建目录
mkdir -p 

//cd用法
cd || cd ~ 		进入当前用户的家目录
cd -  			进入上次目录
cd .. 			进入上一级目录
cd .  			进入当前目录
Tab+Tab			显示当前目录所有文件

//rm删除文件
rm -rf	强制删除所有文件和目录
rmdir	删除空目录,用得少

//cp复制文件
-r	复制目录
-p	连带文件属性复制
-d	复制链接属性
-a	相当于pdr
cp 1 2	普通复制,如果2是目录,则按原名复制;如果2是文件,则按新名复制 
cp -a 1 2	保持源文件属性复制,包括时间,链接等等

//根目录下各目录作用
/bin || /usr/bin	保存系统命令
/sbin || /usr/sbin	保存系统命令(管理员可使用)
/boot				启动目录
/dev				保存特殊文件,硬件文件
/etc				保存配置文件
/home				保存各用户文件
/root				管理员的目录
/lib				函数库
/media、/mnt、/misc	外部设备挂载目录
/proc、/sys			内存挂载,别乱动
/usr				系统软件资源目录
/var				系统相关文档目录
/tmp				临时目录

//链接命令
ln -s 源文件 目标文件		-s表示创建软链接

**硬链接**(相当于复制了一模一样的文件)
1、拥有相同的i节点和存储block块,可以看做是同一个文件
2、可通过i节点识别
3、不能跨分区
4、不能针对目录使用
5、源文件删了不影响硬链接使用

**软链接**(相当于创建了一个快捷方式)
1、和windows快捷方式一模一样
2、拥有自己的i节点和block块,但是数据块中只保存源文件的i节点和文件名,没有实际文件数据
3、删除源文件,软链接不能使用
4、创建软链接源文件必须写绝对路径

文件搜索命令

//locate命令,这个是在后台数据库中搜索,新创建的文件要更新数据库后才能搜索到(/etc/updatedb.conf中记录了哪些文件系统/文件类型/路径不搜索)
locate 文件名

//whereis 搜索命令所在路径以及帮助文档的位置
//which 搜索命令所在路径以及别名

//find命令
find 路径 -name
通配符:*(任意多个内容),?(任意一个),[](中括号内任意一个)
-iname	不区分大小写
-user	按照所有者搜索
-nouser	查找没有所有者的文件
find 路径 -mtime +10
-10	10天内修改的文件
10	10天当天修改的文件
+10	10天前修改的文件
-mtime	修改文件内容
-ctime	改变文件属性
-atime	文件访问时间
-size	文件大小(k,M)
-inum	按照i节点搜索

-a 逻辑与
-o	逻辑或
-exec 命令 {} \;  对find结果执行命令

//grep命令,搜索文件中包含字符串的行
-i 不区分大小写
-v	排除某字符串

find:在系统中搜索符合条件的文件名(通配符完全匹配)
grep:在文件中搜索符合条件的字符串(正则表达式包含 匹配)

帮助命令

1、man
man 命令
man -f 命令	查看命令拥有哪个级别的帮助

2、--help,help
ls --help
help shell内部命令

3、info
info ls

压缩命令

//.zip文件
zip 压缩文件 源文件
zip -r 压缩文件 目录
unzip 压缩文件		//解压

//.gz文件
gzip 源文件(源文件会消失)
gzip -c 源文件 > 压缩文件
gzip -r 目录		//压缩目录下所有子文件,不能压缩目录
gzip -d 压缩文件		//解压
gunzip 压缩文件		//解压

//.bz2文件
bzip2 源文件(源文件会消失)
bzip2 -k 源文件(保留源文件)
bzip2不能压缩目录
bzip2 -d 压缩文件	//解压
bunzip2 压缩文件	//解压

//.tar.gz文件
压缩:tar -zcvf 压缩包名.tar.gz 源文件
解压:tar -zxvf 压缩包名.tar.gz

//.tar.bz2文件
压缩:tar -jcvf 压缩包名.tar.bz2 源文件
解压:tar -jxvf 压缩包名.tar.bz2

关机与重启命令

shutdown -r 时间		//指定时间关机
shutdown -h			//关机
shutdown -c			//取消上一次的关机指定

//关机,用的少
halt
poweroff
init 0

//重启
reboot		//常用重启命令
init 6		//共7个级别

//退出登录
logout

挂载命令

1、查询与自动挂载
mount			//查询系统中已经挂载的设备
mount -a		//根据配置文件/etc/fastab的内容自动挂载

2、挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
-o选项用的少
-t通常可以不写,除非需要指定

3、挂载光盘
mkdir /mnt/cdrom/
mount -t iso9660 /dev/sr0 /mnt/cdrom/

4、卸载命令
umount 设备文件名或挂载点

5、挂载U盘
fdisk -l			//查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
(有图形界面则不需要挂载,自动识别)

用户登录查看命令

1、查看用户登录信息
w 
who

2、查看当前登录和过去登录的用户信息
last

3、查看所有用户最后一次登录的时间
lastlog

Shell概述

Shell是linux的命令解释器,分类有Bourne Shell和C shell,目前linux使用最多的是Bash。
1、echo输出命令
echo "字符串"
-e 							//反斜杠控制特殊符号(\n \t \b)
"\e[1;34m 字符串 \e[0m"		//输出颜色

2、基本脚本
#!/bin/bash
#第一个脚本
echo "hello world!"

3、执行方式
chmod 755 hello.sh
./hello.sh
或
bash hello.sh(不需要赋权限)

Bash基本功能

1、命令别名
alias 					#查看系统中所有的命令别名
alias 别名='原命令'		#设定命令别名

如果要别名永久生效,就要修改环境变量配置文件
然后source ./bashrc

unalias 别名		#临时删除别名,永久删除也需要改环境变量配置文件

别名的优先级高于Bash内部命令和$PATH路径下的命令

2、快捷键
ctrl+c:强制终止当前命令
ctrl+l:清屏
ctrl+a:光标移动到命令行首
ctrl+e:光标移动到命令行尾
ctrl+u:从光标所在位置删除到行首
ctrl+z:把命令放入后台
ctrl+r:在历史命令中搜索

3、历史命令
保存条数可以在/etc/profile中修改HISTSIZE
!!	#重新执行上一条命令
!字符串	#重新执行上一条以字符串开头的命令

4、补全
Tab	#按一次直接补全,按两次列出所有可能

5、输出重定向
命令 > 文件			# 以覆盖的方式,命令输出写入文件
命令 >> 文件			# 以追加的方式,命令输出写入文件

错误命令 2>文件			# 以覆盖的方式,命令错误输出写入文件(>左右没空格)
错误命令 2>>文件			# 以追加的方式,命令错误输出写入文件

正确错误命令输出同时写入:
命令 > 文件 2>&1
命令 >> 文件 2>&1

命令 &>文件
命令 &>>文件

命令 >> 文件1 2>>文件2		# 正确输出到文件1,错误输出到文件2

6、输入重定向(用的很少)
wc [选项] [文件名]
-c	统计字符数
-w	统计单词数
-l	统计行数

wc < 文件		#也可以不加<,统计文件的字符数、单词数、行数

7、管道符
1)多命令顺序执行
命令1;命令2		#多个命令顺序执行,1报错不影响2执行
命令1&&命令2		#逻辑与,只有命令1正确执行,命令2才执行
命令1||命令2		#逻辑或,只有命令1执行不正确,命令2才执行

2)管道符
命令1 | 命令2	#命令1的输出结果作为命令2的操作对象

ls /etc/ | more
# 首先查询etc目录下所有文件信息,再通过more命令分屏显示这些信息
netstat -an | grep "ESTABLISHED" | wc -l
#	首先通过netstat查询当前端口占用信息,然后在其结果中查找有"ESTABLISHED"的行数据,再统计这些数据的行数并输出

8、通配符
1)通配符
?		#匹配一个任意字符
*		#匹配任何内容
[]		#匹配括号内任意一个字符
[-]		#-代表一个范围
[^]		#匹配不是中括号内的一个字符

2)特殊符号
' '		#单引号中所有特殊符号例如"$"和"`"都没有特殊含义
" "		#双引号中"$"、"`"、"\"有特殊含义,表示“拥有变量的值”、“引用命令”和“转义符”
` `		#反引号括起来的内容是系统命令
$()		#同反引号,推荐使用
#		#注释
$		#调用变量的值
\		#转义符,跟在\之后的特殊符号将失去作用