一. Linux的目录结构 为树状结构 ,在Linux中一切皆文件
| 目录 |
说明 |
/bin |
常用指令 |
/boot |
启动linux的的文件 |
/dev |
通过文件管理设备 |
/etc |
配置文件 |
/home |
家目录 |
/lib |
动态连接共享库 |
/lib64 |
也是库 |
/media |
自动识别的一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下 |
/mnt |
让用户临时挂载别的文件系统的 |
/opt |
一些安装软件放在这里 |
/proc |
内存的东西 |
/root |
root用户的 |
/sbin |
高级权限的用户能够使用的指令 |
/selinux |
安全目录 |
/srv |
该目录存放一些服务启动之后需要提取的数据 |
/usr |
用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录 |
/usr/local |
一些安装过后的软件会放在这里 |
/sys |
系统 |
/tmp |
临时文件 |
/var |
日志一般在这里 |
2.vi 和 vim
1.正常模式
一般来说,使用vi打开一个文档就进入了正常模式
| 命令 |
描述 |
上下左右 |
移动光标 |
yy |
拷贝当前行,5yy拷贝当前行下的5行 |
p |
粘贴 |
dd |
删除当前行,5dd删除当前行下的5行 |
/ |
进入查找模式 输入要查找的内容 n 查找下个 |
G |
到达文件末行 |
gg |
回到首行 |
u |
撤销上次的编辑 |
shift + g |
先输入指定数字,再按此快捷键,跳转到指定行 |
2.插入模式
通过按下i I o O a A r R 就进入了插入模式,按下esc退出该模式,进入正常模式
3.命令行模式
可以保存退出,不保存直接退出等操作,按下冒号:进入该模式
| 命令 |
描述 |
w |
保存 |
q |
退出 |
q! |
强制退出 |
wq |
保存并退出 |
set nu |
设置显示行号 |
set nonu |
取消显示行号 |
3.关机重启
| 命令 |
描述 |
shutdown -h now |
立即关机 |
shutdown -h 1 |
一分钟后关机 |
shutdown -r now |
立即重启 |
halt |
直接使用,关机 |
reboot |
重启 |
syn |
将内存中的数据同步到磁盘,防止数据丢失,一般在重启和关机时先执行此命令 |
4.用户登录和注销
| 命令 |
描述 |
su |
切换用户 |
logout |
远程登录时,退出登录 |
5.用户管理
| 命令 |
描述 |
useradd [选项] <用户名> |
添加一个用户 -d 指定家目录,-g 指定组名 |
passwd <用户名> |
为用户指定密码 |
userdel <用户名> |
删除用户,(保留家目录) |
userdel -r <用户名> |
删除用户并删除家目录 |
id <用户名> |
查询用户 |
su <用户名> |
切换用户 |
whoami |
查看当前用户 |
6.用户组管理
| 命令 |
描述 |
groupadd <组名> |
添加一个用户组 |
groupdel <组名> |
删除一个用户组 |
usermod -g <组名> <用户名> |
修改用户组 |
usermod -d 目录名 用户名 |
改变该用户登录的初始目录 |
用户和组的三个相关的文件
/etc/passwd 用户的配置文件,记录用户的各种信息 用户名:口令:用户id:组id:注释性描述:主目录:登录shell
/etc/group 组的配置文件
/etc/shadow 口令配置文件(密码和登录信息,是加密的)
7.用户组管理和权限管理
- 修改文件的所有者
chown 用户名 文件名
- 修改文件/目录所在组
chgrp 组名 文件名
8.linux的运行级别
系统的运行级别配置文件/etc/inittab
0:关机
1:单用户(找回丢失密码)
2:多用户无网络服务
3: 多用户有网络服务
4: 保留
5: 图形界面
6: 重启
| 命令 |
描述 |
init [0/1/2/3/5/6] |
设置运行级别 |
应用:
如何找回丢失的root密码?
思路:进入到单用户模式,修改root密码,因为单用户登录不需要输入密码
9.实用指令
1.帮助指令
| 命令 |
描述 |
man [命令或配置文件] |
获取帮助信息 |
help [指令] |
获取内置指令的帮助信息 |
2.文件目录类的指令
| 命令 |
描述 |
pwd |
显示当前所在目录 |
cd <目录> |
切换目录 |
ls [选项] [目录或者是文件] |
查看当前目录或文件的详细信息 参数 [-a全部文件,-l详细信息] |
mkdir [选项] <要创建的目录> |
创建目录 参数[-p 创建多级目录] |
rmdir [选项] <要删除的空目录> |
删除空目录,rm -rf <非空目录>删除一个非空的目录 |
touch <文件名> |
创建一个空文件,可以一次创建多个文件 |
cp [选项] <源地址> <目标地址> |
拷贝 选项 [-r 递归复制整个文件夹] 注意:\cp表示强制覆盖 |
rm [选项] <文件或目录> |
删除文件或目录 选项[-r递归删除 -f强制删除不提示] |
mv <源地址> <目标地址> |
移动文件与重命名 |
cat [选项] <文件> |
查看文件内容 -n 显示行号 只能看不能改,一般与|more管道和more一块使用 |
more <文件> |
分页查看文件 |
less <文件> |
和more类似,但比more更强大,不会一次加载整个文件,会根据显示需要加载内容 |
>和>>
|
输出重定向和追加 >会覆盖之前的内容, >> 在原来的内容上追加 |
echo [选项] <输出的内容> |
输出内容到控制台,输出环境路径echo $PATH
|
head [选项] <文件> |
显示文件的开头部分内容,默认10行,可以通过 -n 20来指定多少行 |
tail [选项] <文件> |
显示文件尾部的内容,默认显示后10行,可以通过-n 20来指定多少行, -f表示实时追踪该文档的所有更新 |
ln -s <源文件或目录> <软连接名> |
创建软连接 |
history [选项] |
查看已经执行过得指令,不带参数会展示所有的历史指令,history 10最近使用过的10个指令,!5 执行编号为5的指令 |
3.时间日期类的指令
| 命令 |
描述 |
date |
显示当前日期date '+%Y-%m-%d %H:%M:%S' 显示 2019-03-16 21:23:53 |
date -s "2019-03-16 21:23:53" |
设置当前时间 |
cal [选项] |
查看日历 cal 2019 显示整年的日历 |
4.搜索查找类的指令
-
find [搜索范围] [选项] 从指定目录向下递归遍历各个子目录,将满足条件的文件或目录显示
| 选项 |
功能 |
-name <文件名> |
按照指定的文件名查找文件,支持通配符 |
-user <用户名> |
查找属于指定用户名的所有文件 |
-size [+/-]<文件大小> |
查找指定文件大小的文件find / -size +20M 查找大于20M的文件 |
-
locate <文件名> 可以快速的定位文件的路径
在使用locate之前,由于locate指令是基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库
3.grep指令和 管道符号|表示将前一个命令的处理结果 交给后面的命令处理
用法 grep [选项] 查找内容 源文件
| 选项 |
功能 |
-n |
显示匹配行及行号 |
-i |
忽略字母大小写 |
例如:
cat test.txt | grep -ni java 查找test.txt 文件中的java并显示行号,忽略大小写
5.压缩和解压缩类的指令
-
gzip/gunzip 压缩和解压 *.gz文件,压缩后不会保存源文件
-
zip/unzip
zip [选项] XXX.zip <压缩的内容> 压缩文件和目录
unzip [选项] XXX.zip 解压文件
zip选项
-r递归压缩
unzip选项
-d <目录> 指定解压后文件的存放目录
3.tar 是打包指令,最后打包后的文件是*.tar.gz的文件
基本语法:
tar [选项] XXX.tar.gz <打包的内容>
| 选项 |
功能 |
-c |
产生*.tar 打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名 |
-z |
打包同时压缩 |
-x |
解包*.tar文件 |
例子:
tar -zcvf a.tar.gz *.txt 将文件夹下的 txt文件打包压缩
tar -zxvf a.tar.gz -C tmp/ 解压到指定目录
网友评论