文章目录
Linux中一切皆文件;没有文件格式区分;严格区分大小写
Linux与Windows的不同之处
Windows | Linux | |
---|---|---|
默认管理员账户 | Administrator | root |
分区格式(文件系统) | NTFS/FAT32 | XFS/Ext4 |
路径分割符号 | \ | / |
命令提示含义
[root@localhost ~]# 管理员用户
[jiang@localhost ~]$ 普通用户
#代表管理员
$代表普通用户
[当前登录的用户名@主机名 工作目录 ]权限标记
”/“是根目录,”~“是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。而每个用户都有”家“目录,也就是用户的个人目录。比如root用户的”家“目录就是/root,普通用户a的家目录就是/home/a
Linux目录结构
/boot:系统引导文件、内核
/bin:用户的基本命令
/dev:设备文件
/etc:配置文件
/home:用户目录
/root:root用户目录
/sbin:管理类的基本命令
/tmp:临时文件存放地
/usr:共享的只读数据
/mnt:临时文件系统挂载点
/media:移动设备挂载点
/opt:第三方应用程序的安装位置
/srv:系统运行的服务用到的数据
/var:变化的数据文件
/proc:用于输出内核与进程信息相关的虚拟文件系统
/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统
黑色 == 常规
深蓝色 == 目录
浅蓝色 == 快捷方式
黄色 == 设备
红色 == 压缩包
LINUX 基本操作命令
- shutdown -h now (关机)
- shutdown -r now (重启)
- history(查看已操作的命令)
- su - 用户名 (切换用户)
查看IP、网关、DNS地址
- ifconfig (查看 IP 地址)
- route -n (查看网关)
- cat /etc/resolv.conf (查看DNS配置信息)
- cat /etc/redhat-release (查看Linux版本号信息)
查看及配置主机名
- hostnamectl set-hostname 名字 (修改主机名)
- whoami (查看用户)
- hostnamectl (查看主机名)
管理网络连接
- nmcli device status (列出所有的网卡设备)
- nmcli connection show (列出已配置的网络连接)
- nmtui (修改网络连接参数)
- ifdown ens33 (关闭连接)
- ifup ens33 (激活连接)
-
cat 文件名 (查看文件内容 、不可分页)
1.cat /etc/redhat-release (查看系统版本)
- CentOS Linux release 7.5.1804 (Core)
2. cat /etc/resolv.conf (查看DNS地址)
- Generated by NetworkManager
search localdomain
nameserver 192.168.50.2
3. cat /etc/hostname(查看主机名)
- localhost.localdomain
4.less /proc/cpuinfo (查看CPU信息
5.less /proc/meminfo (查看内存信息) -
less 目录名 (查看文件内容、 可分页并可控制)
PgUp/PgDn翻页、按q退出 -
more 目录名 (查看文件内容 、可分页)
-
du -sh 目录名 (查看目录大小)
-
mkdir 目录 (创建目录)
-
exit (退出)
-
pwd (查看当前所在的目录)
- cd 目录名(切换、进入目录)
例如:
cd /home (切换到根下的home目录)
cd /root (切换到根下的root目录) - cd . . (返回上一级目录)
- cd . ./. . (返回上一级的上一级)
- cd / (进入到根目录)
- cd (进入用户主目录)
- cd ~ (进入用户主目录)
- ls (查看当前目录的文件列表)
- ls -A 目录名 (查看包括名称以 . 开头的隐藏文档 )
- ls -l 目录名(查看目录里面的内容)
- ls - ld 目录名 (查看目录本身的信息)
- ls -lh 目录名 (显示长格式信息+显示占用空间大小)
快捷键操作
- Ctrl+Alt+F1 (退出操作命令行进入到图形界面)
- Ctrl+Alt+(F2~F6) (进入操作命令行)
- Ctrl+l (清空整个屏幕)
- Ctrl+c (废弃当前编辑的命令行)
- Esc+ . (粘贴上一命令的最后一个参数)
- Tab (命令或者路径的补齐,如果输入的内容唯一标识某一个命令或者路径,Tab一次会自动补齐。如果不唯一则Tab两次显示出已输入内容开头的所有的命令或路径)
- *(匹配任意0-多个字符)
- ?(匹配任意单个字符)
相对路径与绝对路径
相对路径(需要一级一级进入)
绝对路径(以根开头’/’,一次进入)
[root@localhost ~]# cd /root/abc/ab/a)
创建目录/文件(目录即文件夹)
- mkdir 目录1 目录2 (同时创建多个统计目录)
- mkdir -p abc/ab/a (同时创建多个多级目录)
[root@localhost ~]# mkdir -p abc/ab/a
- touch 文件名 (创建文件)
删除目录/文件
删除空目录
- rm 文件名 (删除文件)
- rmdir 目录名 (删除空目录)
进入上一级目录ab删除a
cd /root/abc/ab
rmdir a
删除非空目录
- rm -r 目录名 (递归删除包含目录、非空目录)
mkdir -p abc/ab/a 创建多级目录
rm -r abc 删除多级目录
rm:是否进入目录"abc"? y
rm:是否进入目录"abc/ab"? y
rm:是否删除目录 “abc/ab/a”?y
rm:是否删除目录 “abc/ab”?y
rm:是否删除目录 “abc”?y
- rm –rf 目录名 (强制一次性删除、删除需谨慎)
复制目录、文件
-
cp 文件名 目录名(复制文件到指定的目录)
-
cp –r 目录名 目录名(递归复制目录)
cp -r /root/boot/grub2 mulu1
-
\cp -rf 目录名 目录名(递归复制目录、强制一次性复制)
-
cp –p 文件名 目录名(复制并保存原文件属性不变)
移动/剪切
- mv 文件名 目录名(移动文件到目录)
- mv 文件名 [指定目录]新名字(修改名字)
vim 文本编辑器
如果文件存在就打开;若不存在就新建
工作模式:
Vim a.txt (如果文件存在就打开;若不存在就新建)
命令模式
输入i进入插入模式即可输入内容
按ESC键返回命令模式
输入:末行模式
在末行模式输入wq保存退出
快捷操作:
gg/1G //光标到第一行
G // 光标到最后一行
yy //复制光标处的一行;2yy复制2行
p //粘贴
dd //删除光标处的一行;2dd 删除2行
u //撤销前一次操作;U 撤销当前行所有更改
Ctrl+r //恢复撤销
/要查找的内容 //查找
n //查找下一个
N //向上查找
:w //保存
:q //退出
:wq //保存并退出
:q! //放弃修改并退出
:shift+z
替换操作:
:s/查找要替换的内容/替换为的新内容/g(当前行查找替换)
:1,5 s/查找要替换的内容/替换为的新内容/g(1-5行查找替换)
:% s/查找要替换的内容/要替换的内容/g(全文查找替换)
:set nu 显示行号
:set nonu 取消显示行号
管理用户
新建用户
- useradd 用户名(创建新用户)
- 设置用户密码(两种方法)
passwd 用户名 //设置用户密码
echo 123456 | passwd --stdin 用户名 //设置/更改用户密码(专业方法)
修改用户
- usermod -l 新用户名 原用户名(修改用户名)
- 修改dd用户目录到新建的/ntd/mm目录:
mkdir –p /ntd/mm 创建新的存放目录
usermod –d /ntd/mm dd 把原目录/home/dd用户修改到新建的/ntd/mm目录
mv /home/dd / /ntd/mm 把原目录/home/dd用户剪切到新建的/ntd/mm目录
删除用户
userdel 用户名(删除用户)
userdel –r 用户名(删除用户同时删除用户主目录)
添加组
创建组
- groupadd 组名(创建组)
- groupadd –g 编号 组名 (创建组及编号)
将用户加入组
- gpasswd -a 用户名 组名(将用户加入组)
[root@jpg ~]# gpasswd -a guojing ntd1907
正在将用户“guojing”加入到“ntd1907”组中
查看用户所在组
- id 用户名 (查看所在组)
[root@jpg ~]# id guojing
uid=1002(guojing) gid=1003(guojing) 组=1003(guojing),1997(ntd1907)
将用户从组中删除
- gpasswd -d 用户名 组名 (将用户从组中删除)
删除已创建的组
- groupdel 组名(原有组成员自动被解散)
查看文档的归属
- 执行 ls -l …命令查看
输出信息包括7个字段
-rw - r- - r- -
- -:文件类型
- rw-:文件所有者的权限(属主)
- r–:文件所属组的权限(属组)
- r–:其他用户权限
-
文件类型
— 文件
d 目录
l 连接 -
所有者的权限
r = 4 读取
w = 2 写入
x = 1 可执行
— 无 -
所属组的权限
r = 4 读取
w = 2 写入
x = 1 可执行
— 无 -
其他用户的权限
r = 4 读取
w = 2 写入
x = 1 可执行
— 无 -
链接数
文件:链接数
目录:该目录下有多少个子目录(…) -
所有者
-
所属组
-
文件大小
-
文件创建时间
-
文件/目录名
修改文件/目录的属主和属组 chown
ls -ld 绝对路径的用户名 (查看用户归属)
chown 属主 文件/目录(更改文件/目录的所有者)
chown :属组 文件/目录 (更改文件/目录的所属组)
chown –R 用户名 文件/目录(递归更改包含目录及子目录的文档)
chown 属主:属组 文件/目录(同时修改文件属主及属组)
更改读、写、执行权限 chmod
用户 | 增加权限 | 去除权限 |
---|---|---|
u所有者 | u+rwx | u-rwx |
g同组用户 | g+rwx | g-rwx |
o其他用户 | o+rwx | o-rwx |
chmod ugo±=rwx 文件名/目录名(修改文件权限)
递归修改:
chmod -R ugo±=rwx 目录名(修改所有子目录及子目录中的文档)
备份与恢复
zip -ry 要备份的路径及文件名.zip 要备份的目录名(创建压缩包)
案例:zip -ry /opt/boot.zip /boot
unzip 压缩备份的文件名.zip -d 解压到的文件夹目录(解压文件)
案例:unzip /opt/boot.zip -d abc
tar命令文件归档备份与还原
tar –zcPf /root/usrlocal.tar.gz /usr/local/
tar -xPf usrlocal.tar.gz
解包
tar -xPf 压缩包 - C( C 为指定路径)
光驱的使用:
Mkdir /mnt/dvd 创建目录名
ls /mnt/dvd 查看目录名(无内容)
mount /dev/cdrom /mnt/dvd (挂载光驱)
ls /mnt/dvd 查看已挂载光驱(已挂在有内容)
df -hT /mnt/dvd(检查挂载情况)
umount /dev/cdrom(卸载已挂设备)
配置开机挂载
Vim /etc/fstab(查看/etc/fstab目录的内容)
/dev/cdrom /mnt/dvd iso9660 defaults 0 0
原目录 创建的目录 文件系统类型
reboot 重启
ls /mnt/dvd 查看已自动挂载光驱
- .zip 压缩包的处理 ——
制作备份:zip -ry 备份文件名.zip 被备份的文档… …
释放备份:
unzip 备份文件名.zip
unzip 备份文件名.zip -d 目标文件夹
2.tar.gz、.tar.bz2、.tar.xz 压缩包的处理 —— - 制作备份:
tar -zcPf 备份文件名.tar.gz 被备份的文档… …
tar -jcPf 备份文件名.tar.bz2 被备份的文档… …
tar -JcPf 备份文件名.tar.xz 被备份的文档… … - 释放备份:
tar -xf 备份文件名.tar.*
tar -xf 备份文件名.tar.* -C 目标文件夹
tar -xPf 备份文件名.tar.* - 挂载与卸载设备
挂载、装载的含义:把指定的设备装到某个Linux目录下,然后通过这个目录就可以访问到设备中的文档数据
指定的设备,光盘 /dev/cdrom、U盘、格式化好的分区、ISO镜像文件……
某个Linux目录(挂载点),用户自己定义,尽量不要用系统默认的那些特殊目录(/boot、/root、/home、/tmp)
-
挂载操作:
mount 被挂载的设备 挂载点目录
ls 挂载点目录 -
卸载操作:
umount 挂载点目录 -
挂载一个存储设备的方式 ——
需要时使用mount命令手动挂载
或者
配置开机自动挂载 -
如何实现开机自动挂载XX设备?
vim /etc/fstab 【File System Table】
… …
存储设备 挂载点 类型 defaults 0 0
mount -a 【自动挂载所有已配置设备】 -
准备工作:开机自动把CentOS7光盘挂载到 /repo/cos7dvd
1)确保Linux主机已经连接CentOS7光盘
2)确保挂载点目录已经准备好
mkdir -p /repo/cos7dvd 【创建挂载点目录】
3)修改开机挂载配置
vim /etc/fstab 【修改开机挂载配置文件】
/dev/cdrom /repo/cos7dvd iso9660 defaults 0 0
4)检查配置并验证
ls /repo/cos7dvd 【挂载点目录下为空】
mount -a 【检查并挂载设备】
ls /repo/cos7dvd 【挂载点下可看到光盘文档】
reboot 【重启系统】
ls /repo/cos7dvd 【再次检查结果】