Linux系统管理常用命令用法-文件用户磁盘

0.1Linux中目录结构和路径
1.目录结构
树型结构,用“/”表示根,其它所有目录都是挂载在根上。可以理解成windows中的“我的电脑”
不同目录有不同的用处:
/bin:bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着普通最经常使用的命令。
/usr/sbin:是管理员可以执行的命令
/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。生产环境建议放在单独的分区,不要挂载到“/”根上
/dev :Linux中所有的设备都以文件形式存在,使用时要挂载。dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。默认安装的配置文件目录,手工安装时可以修改
/home:用户的主目录,在 Linux 中,每个用户都有一个自己的目录,存在于/home目录下,一般该目录名是以用户的账号命名的。相当于windows下的“我的文档”
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/tmp:tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,安装软件、服务的常用用户,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/var:var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
2.路径:
在Linux中,绝对路径和相对路径是用来定位文件或目录的两种不同方式。
绝对路径是从根目录(/)开始的完整路径,可以准确地指定文件或目录的位置。绝对路径以斜杠(/)开头,例如:/home/user/file.txt。无论当前所在的目录是什么,绝对路径都能够准确地定位到指定的文件或目录。
相对路径是相对于当前工作目录的路径。当前工作目录是指用户当前所在的目录。相对路径不以斜杠(/)开头,而是以文件或目录的名称作为起点,例如:file.txt或…/subdirectory/file.txt(两个点表示上一级目录)。相对路径根据当前工作目录的位置来确定文件或目录的位置,所以相对路径在不同的工作目录下可能会指向不同的文件或目录。
使用绝对路径可以确保文件或目录的准确定位,但路径会比较长。相对路径相对简短,但需要根据当前工作目录来确定位置,可能会有一定的不确定性。
在使用终端或命令行界面时,可以使用cd命令来切换当前工作目录,使用ls命令来查看当前目录的内容,这样可以更好地理解和使用绝对路径和相对路径。
1.文件和目录的增删改查
主要命令:mkdir [-p] 路径/目录名
touch 路径/文件名 #创建文件和目录
rm -i(删除逐一确认) -f(不用确认删除) -r(目录以下全部删除删目录用) #删除文件和目录
cd 目标目录
cd…返回上一级
cd~返回家目录 #改所在目录
cp [参数] 路径/源文件 路径/目标文件(拷贝)
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合
-r :用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。
mv [参数] 路径/源文件 路径/目标文件(移动) #改文件
ls 参数 [对象]
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-d 只列出目录(不递归列出目录内的文件)。
-l 以长格式显示文件和目录信息,显示详细信息包括权限、所有者、大小、创建时间等。
-r 倒序显示文件和目录。
-t 将按照修改时间排序,最新的文件在最前面。
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-R 递归显示目录中的所有文件和子目录。 #查目录
cat 文件:将文件全部显示出来
more 文件:查看文件,一次显示一屏,按空格显示下一屏,按“q”退出
less 文件:查看文件,一次显示一屏,按空格显示下一屏,可以上下翻页
head -n 文件 :查看前文件的前几行,默认不加参数查看10行,参数n表示查看指定的行数
tail -n 文件::查看前文件的末尾几行,默认不加参数查看10行,参数n表示查看指定的行数
wc 参数 文件 :统计文件的行 单词 字符数
-l :只统计行,-w只统计单词,-c查找多少字符数 #查文件
history #查看输入命令的历史
2.vim的使用
apt install vim -y #安装vim
nano:功能少
gedit:l图形 #其他文本编辑工具
vim 文件名 #创建vim文件,如果存在则打开文件
vim一共有三个模式,命令模式,输入模式,尾行模式
进入输入模式
a: 进入输入模式,并且光标移动到当前的下一个位置
O:进入输入模式,并且光标移动到当前位置的上一行
o:进入输入模式,并且光标移动到当前位置的下一行
I:进入输入模式,并且光标移动到所在行的开头
i:进入输入模式,直接在光标位置开始输入
进入命令模式(默认是命令模式)按esc
命令模式命令:
/字符:查找该字符,按n查找下一个
/字符\c查找不区分大小写的字符。
yy复制所在行
yyn复制所在行的向下n列
p粘贴复制的行
dd删除光标所在行
ndd删除光标所在行下的n列
G将光标移到文档结尾
gg将光标移到开头
u撤回上一步操作

进入尾行模式
在命令模式下输入 “:”命令
尾行模式命令:
w 保存 :q :wq保存退出 :q!强制退出
:set nu :显示行号
:set cul f 光标所在行划线显示
:set tabstop=4 设置TAB键相当于4个空格
:n :n表示数字,跳到第n行
😒/原内容/新内容
😒/原内容/新内容/g
:%s/原内容/新内容/g—替换所有的匹配内容
3.重定向和管道命令符
管道命令符:“|”是Linux管道命令操作符,简称管道符。使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
命令1 | 命令2:命令1的输出,不会显示在屏幕上,而做为命令2的输入对象。
4.用户和组
创建用户和组
useradd [参数] 用户名 #创建用户
-d 路径/目录名 指定用户的家目录,如果不指定会在/home目录下创建一个与用户同名的目录做为家目录。
-g 组名 :将用户加入到指定的组,组要预先创建。如果不指定这个参数,那么会创建一个与用户名同名的组。
-G 组名 :将用户加入到附属组。
-m:创建家目录。Ubuntu中如果指定这个参数,将不创建用户家目录
-M: 不创建家目录。
-c 说明:为用户注释
-u id号:指定用户的id,不加这个参数,会按编号顺序自动分配。
-s /bin/bash:指定用户登录后使用shell
groupadd [参数] 群组名 #创建组
-g,指定组的id号
查看用户和组
id 用户名: #查看用户的id,组id
cat /etc/passwd #所有用户的信息都会存于/etc/passwd文件中。格式:以冒号分隔
alice❌1002:1003::/home/alice:/bin/sh
第1列:用户名
第2列:密码信息,加密处理
第3列:用户id
第4列:组id
第5列:用户的说明
第6列:用户的家目录
第7列:用户的shell
finger 用户名 #查看用户信息(apt install finger)
给用户设置密码
passwd [参数] 用户名
-l:lock锁定用户,用户不能登录
-u:unlock解锁用户,
-d:使用户可以空密码登录
-e:强制用户下次登录修改密码
–stdin 允许通过标准输入修改用户密码
删除用户
userdel [参数] 用户名
修改用户
usermod [参数] 用户名
-c 填写用户账户的备注信息ss
-d -m 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去
-e 账户的到期时间,格式为YYYY-MM-DD
-g 变更所属用户组
-G 变更扩展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 修改用户的UID
5.用户权限
5.1文件的可读、可写、可执行权限的英文全称分别是read、write、execute,可以简写为r、w、x,亦可分别用数字4、2、1来表示,文件所有者、文件所属组及其他用户权限之间无关联,减号是占位符,代表这里没有权限,在数字表示法中用0表示。也就是说,rw-转换后是420,r-x转换后是401,-w-转换后是020。然后,将这3组数字之间的每组数字进行相加,得出652,这便是转换后的数字表示权限。
5.2chmod [-R] 权限 路径/文件或目录名 修改文件权限
参数-R表示将目录及以下的文件和子目录一起修改
权限表示方法有两种:
1、直接表示。+号表增加权限,-号表示去掉权限。例如给组去掉写权限:g-w
2、数字表示法:写出目标数字权限。
5.3chown [-R] 新属主:新属组 路径/文件名或目录名
参数-R表示将目录及以下的文件和子目录一起修改
6.文件查找
6.1locate命令
locate 命令其实是 “find -name” 的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。
6.2which命令
  which 命令的作用是,在 PATH 变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。找命令
6.3find命令
find 【路径】 参数(-name居多) “索引(例如*.log)”代表了任意字符,.log的意思就是后面带.log的所有文件。?代表单个字符,?.log就代表后面带log的且前缀为一个字符的。
-perm 按照权限
-type (f,d,l) -print 按照类型查找(f-普通文件 d-目录 l-链接文件)
必须要有一个参数
-a是与 -o是或 null是非

按照时间
-mtime 更改过的文件
-atime 访问过的文件
-ctime(天,也可以按照min分钟) 该过权限的文件
+代表前(两天前) -代表内(两天内)

-size 按照大小
+大于 -小于
单位G M C(GB,MB,KB)
-exec 把要查找的东西都结果交给后面的命令
-exec 后面的命令 {} (大括号代表前面那些东西)
tar -zcvf 文件名 打包
7.tar压缩
tar命令
压缩文件的格式:.zip .rar
apt install unzip -y #安装压缩工具
upzip 文件名 #解压zip压缩文件
tar :结目录和文件进行打包和压缩,是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
tar 参数 对象
参数:
-z:打包同时进行压缩
-c:打包
-x:解包
-v:查看过程
-f:指定文件,这个一定放在最后,后边直接跟文件
-r:向压缩包中新增文件
-t:不解压查看压缩包内容
-C:大写,可以指定目标目录,默认是当前 目录

将/var/log目录下所有文件都进行打包和压缩
tar -zcvf log20230921.tar.gz /var/log/*
tar -tf log20230921 #查看内容

rm -rf /var/log/* #删除所有/var/log下的内容
恢复:
tar -zxvf log20230921.tar.gz -C /

将将/var/log目录下所有文件都进行打包和压缩,压缩后的文件名为“当前日期时间.tar.gz”
tar -zcvf 备份
8.at计划任务
计划任务一共有两种,一种是一次性的计划任务,一种是周期性质的计划任务。
apt at install #安装at
8.1at [参数] 时间
参数: -m当指定的任务被完成后,将给用户发送邮件,即使没有标准输出
-l atq的别名
-d atrm的别名
-v 显示任务将被执行
-c 打印任务的内容到标准输出
-V 显示版本信息
-q <列队> 使用指定列队
-f <文件> 从指定文件读入任务而不是从标准输入读入
-t <时间参数> 以时间参数的形式提交要运行的任务
时间语法:HH:MM //定义小时和分钟如果错过将在明天执行
at>04:00
HH:MM YYYY-MM-DD //强制规定在那天的某时某分执行
at>04:00 2023-10-31
HH:MM[am|pm][Month][Date] //规定在某一特殊时刻执行任务
at>10am March 17
HH:MM[am|pm]+number(minutes|hours|days|weeks) //规定某一特殊时刻之后的xxx时间后执行命令
8.2crontab周期性计划任务
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名
概括:crontab守护进程会自动检查/etc/crontab文件、/etc/cron.d目录及/var/spool/cron/目录中的改变,如果发现配置有更改,它们就会被载入内存,所以当某个crontab文件改变后并不需要重新启动,crond守护进程就可设置生效。
crontab一共有两种使用方法
第一种:编辑/var/spool/cron/用户名的内容
方法:crontab -e
crontab [ -u user ] [ -i ] { -e | -l | -r }
-e:编辑一个计划任务 //首次进入的时候会让你选一个编译器,最好原则vim。如果选错了的话输入:export EDITOR=vim命令
-u:指定可以执行这个计划任务的用户,如果不指定那么表示当前用户
第二种:编写/etc/crontab的内容
直接进入这个文件里面进行编写。
编写方法如下(两种方案的编写方法)
以空格分成7列
第一列是分钟:取值0-59
第二列是小时:取值0-23
第三列是天: 取值1-31
第四列是月份:取值1-12
第五列是周几:取值0-6 0和7都表示 周日
第六列是用户的名称
第7列是命令脚本,建议用绝对路径,脚本要有执行权限
#主要设置文件(一切皆文件)
crontab的其他参数
-l:列出计划任务
-r:删除计划任务
7.磁盘管理(分区,格式化,挂载)
7.1查看磁盘
lsblk: #查看磁盘概要
fdisk -l
parted -l #查看磁盘详细信息 apt parted -l安装parted
7.2进入到分区模式
parted 磁盘文件名
Select /dev/磁盘名
mklabel gpt #设置磁盘类型为gpt
Mkpart #设置分区文件系统 、大小,直接回车进入交互模式
Print free #查看剩余的可用空间
7.3格式化
mkfs.ext4 #分区名如:mkfs.ext4 /dev/sdb1
7.4挂载
1.创建挂载点,即创建一个目录,建议放在mnt目录下
mkdir /mnt/sdb1 #目录名称随意,建议与挂载的磁盘文件名同名
2.(1)手工挂载:“mount 设备文件 挂载目录”,如
mount /dev/sdb1 /mnt/sdb1 #将磁盘挂载到指定目录
Mount #查看当前系统挂载的情况
看到以下内容,说明挂载成功
/dev/sdb1 on /mnt/sdb1 type ext4 (rw,relatime)
这种挂载是临时性的,即重新开机后,还要执行挂载的命令
(2)自动挂载。编辑配置文件:/etc/fstab
建议修改重要配置文件时要先备份
cp /etc/fstab /etc/fstab.bak
Vim /etc/fstab
在文件最下方添加以下内容
/dev/sdb1 /mnt/sdb1 auto defaults 0 0
挂载的设备 挂载点 自动 默认 盘

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值