Linux基础命令和文件管理

1.linux系统结构
linux是一个倒树型结构,最大的目录名称叫“/” (根目录)
linux中的二级目录

/bin ##二进制可执行文件,系统常规命令
/boot ##启动目录,存放系统自动启动文件,内核,初始化程序
/dev ##系统设备管理文件
/etc ##大多数系统配置文件存放路径
/home ##普通用户家目录
/lib ##函数库
/lib64/ ##64位函数库
/media ##临时挂载点
/mnt ##临时挂载点
/run ##自动临时设备挂载点
/opt ##第三方软件安装路径
/proc ##系统硬件信息和系统进程信息
/root ##超级用户家目录
/sbin ##系统管理命令,通常只有root可以执行
/srv ##系统数据目录
/var ##系统数据目录
/sys ##内核相关数据
/tmp ##临时文件产生目录
/usr/ ##用户相关信息数据
其在图形化界面下为
在这里插入图片描述
2.文件管理命令
(1)文件的建立
touch file(建立一个名为file的文件)
在这里插入图片描述
(2)目录的建立
mkdir text(创建一个名为text的目录)
在这里插入图片描述
mkdir -p dir1/dir2/dir3(利用递归集建立多集的目录)
在这里插入图片描述
在这里插入图片描述
-p建立递归目录时,当上层目录不存在时可自动建立
(3)文件的删除,目录的删除
rm file
rm -f file -f=force 标示强制删除不提示

rm -r text-r标示递归删除,也就是删除目录本身和里面的所有内容
rm -r -f dir 删除目录不提示
rm -rf dir 在命令参数使用过程中,-a -b -c =-abc =-bac ,顺序是不需要注意的。
(4)编辑文件
1.gedit
gedit file ##必须有图形
在这里插入图片描述
2.vim编辑模式
vim file -->按[i]进入insert模式–>书写内容–>按[esc]退出insert模式–>:wq退出保存
在这里插入图片描述
当vim异常退出时会生成.file.swp文件

当再次打开此文件时会出现以下情况:
file name: ~kiosk/Desktop/file
modified: YES
user name: kiosk host name: foundation0.ilt.example.com
process ID: 31820
If this already, delete the swap file “.file.swp” <<<此文件中存放大是未保存的数据

Swap file “.file.swp” already exists!
[O]pen Read-Only, (E)dit anyway, ®ecover, (D)elete it, (Q)uit, (A)bort:
只读打开 继续编辑 恢复数据 删除swap文件 退出 退出

无论按[O] (E) ® (Q) (A) 任何一个都不会删除.swp文件
那么再次打开file文件是还会出现以上界面直到按(D),.swp文件被删除
vim恢复正常工作
(5)文件的复制
cp 源文件 目的地文件
cp -r 源文目录 目的地目录
cp 源文件1 源文件2 目的地目录 ##目的地目录必须存在
cp -r 源目录1 源目录2 目的地目录 ##目的地目录必须存在
在这里插入图片描述
(6)文件移动
mv 源文件 目的地文件 ##重命名
mv 源目录 目的地目录
在这里插入图片描述
注意:
相同磁盘的文件移动只是一个重明名过程
不同磁盘的文件移动是复制删除过程
(7)文件查看
cat file ##查看文件的全部内容
在这里插入图片描述
cat -b file ##-b显示行号
在这里插入图片描述
less file ##分页浏览
用法:
上|下 ##逐行移动
pageup|pagedown ##逐页移动
/关键字 ##高亮显示关键字,n向下匹配,N向上匹配
v ##进入vim模式 在vim模式中按:wq 退回到less模式
q ##退出
在这里插入图片描述
注意:这里黑色快覆盖的是关键字“/s”的显示
(8)文件的寻址
1.文件的地址分为:
相对路径:
相对与当前系统所在目录的一个文件名称的简写,
此名称省略了系统当前所在目录的名称
此名称不以“/”开头
此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值

绝对路径:
绝对路径是文件在系统的真实位置
此命令是以“/”开头的
此命令在命执行时系统不会考虑现在所在位置的信息
2.自动补齐
系统中的**<Tab>**键可以实现命令的自动补齐

可以补齐系统中存在的命令,文件名称,和部分命令的参数,当一次补齐不了时,代表以此关键字开头的内容不唯一,可以用X2来列出所有以此关键字开头的内容
(10)关于路径的命令
1.显示路径
pwd
在这里插入图片描述
2.切换路径
cd 目录名称 ##进入到指定目录中
cd - ##当前目录和当前目录值前所在目录之间的切换
cd ~ ##进入当前用户家目录
cd ~user ##进入user家目录
cd … ##进入当前目录的上级目录
在这里插入图片描述
3.查看
ls
ls -l file ##文件属性
ls dir ##目录中保函的内容
ls -d dir ##目录本身
ls -a dir ##所有文件包含隐藏的
ls -S dir ##查看并且按照大小排序
在这里插入图片描述
4.文件查看
cat ##输出文件全部内容
less ##分页浏览
head file ##查看文件前10行
head -n 3 file ##查看文件前3行
tail file ##查看文件后10行
tail -n 3 file ##查看文件后3行
tail -f file ##监控文件后10行内容的变化
ps:前面已经提过

5.文件大小统计
wc
wc -l ##行数
wc -w ##单词数
wc -m ##字符数
wc -c ##字节数
在这里插入图片描述
(11)历史的调用
history ##查看历史
history -c ##清空当前环境中的历史
!数字 ##调用此行历史比如"!5"时执行历史中地5条命令
!test ##执行以test关键字开头的最近一条历史
ctrl +r +关键字 ##调用历史中最近一条含有此关键字的历史
在这里插入图片描述
在这里插入图片描述
(12)在系统中获取帮助
1.查看命令大用途
whatis 命令 ##查看命令的用途
在这里插入图片描述
2.查看命令的用法
命令 --help ##查看命令的基本用法,适用于多数命令
[] ##标示选项可以加也可以不加
… ##标示选项加入的个数任意
<> ##标示选项是必须要加入的
Userage: ##标示命令用法
Opetions: ##对参数的作用做说明
在这里插入图片描述
3.man查看命令或文件的说说明手册
man 命令
man 5 文件
man的级别
1 #命令
2 #系统调用接口
3 #函数库调用接口
4 #特殊设备文件
5 #系统配置文件
6 #游戏规则说明
7 #包说明
8 #系统管理命令
9 #内核调用规则

man的基本用法
上|下 ##逐行查看
pgup|pgdn ##分页查看
/关键字 ##高亮显示关键字,n向下匹配,N上向匹配
:q ##退出

man -k 字符串 ##下看当前字符串在系统中拥有的man的级别

/usr/share/doc ##系统中所有安装过的软件的帮助文档
在这里插入图片描述
在这里插入图片描述
(13)系统中通用配置符号

  • ##匹配0到任意字符

? ##匹配单个字符
[[:alpha:]] ##单个字母
[[:lower:]] ##单个小写字母
[[:upper:]] ##单个大写字母
[[:digit:]] ##单个数字
[[:punct:]] ##单个符号
[[:space:]] ##单个空格
[[:alnum:]] ##单个数字或字母

[1-9] #1位,这位是1-9的任意数字
[!3-5] #1位,不是3-5的数字
[^3-5] #1位,不是3-5的数字
[a-z] #1位,a-z的任意字母
{1…3} #3个,1 2 3
{1,4,7} #3个1,4,7这三个数
在这里插入图片描述
6.用户管理
1.用户的查看
(1)查看当前用户
whoami
在这里插入图片描述
(2)在系统中用户的查看
id ##查看指定用户id信息
id -u #查看用户的uid
id -g #查看用户的组id
id -G #查看用户所在的所有组id
id -n #显示名字而不显示id数字
在这里插入图片描述
(3)用户切换
gome-session-quit --force #注销当前用户
再用其他用户登陆
在这里插入图片描述
su - 用户名称
在这里插入图片描述
注:若要切换到超级用户可直接su即可
(4)用户在系统中的存储方式
/etc/passwd 用户信息文件
格式: 用户名:密码:uid:组id:说明:家目录:默认shell(为x的代表没有)
在这里插入图片描述
/etc/group 用户组信息文件
格式:组的名字:组id:组成员
在这里插入图片描述
/etc/shadows 认证信息文件
/etc/skel/.* 默认开启shell的配置,用户的骨文件
/home/username 用户的家目录
(5)用户的删除
userdel
userdel student #删除用户但不删除用户的配置文件
userdel -r student #删除用户且删除用户的配置文件
(6)用户的建立
在一开始我们由于学习的需要,通过监控用户的信息来帮助我们观察建立用户时信息的变化
在这里插入图片描述
在这里插入图片描述
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home/'的命令中watch是一个动态监控命令
通过watch命令查看用户的信息,组信息,家目录文件

建立:
useradd #建立用户时读取/etc/login.defs文件内容确立规则
useradd -u #指定用户id
useradd -g #指定用户初始组id
useradd -G #指定用户的附加组id
useradd -c #指定用户的说明
useradd -d #指定用户的家目录
useradd-s #指定用户的默认shell

groupadd #建立用户组
groupadd -g [] #建立用户组并指定用户组的id
groupdel #删除用户组
在这里插入图片描述
在这里插入图片描述 从动态监控来看用户建立成功 注意:在建立用户时要先切换到超级管理员用户