基本命令
关机:shutdown -h halt init 0 poweroff
重启:shutdown -r reboot init 6
pwd:查看工作目录
ls:查看指定目录的内容
-l:列表显示
-a:显示所有,包括隐藏文件
-h:人性化的显示
-d:只显示目录,不查看内容
cd:切换工作目录
.:当前目录
..:上一级目录
~:用户家目录
-:上次切过来的目录
目录结构:
linux目录与win完全不同,是从'/'开始的,只有他没有上一级目录,因此也叫根目录
详细介绍:
/bin:大部分的系统命令
/boot:启动相关目录
/dev:设备文件目录,linux下一切设备皆文件
/etc:配置文件目录
/home:普通用户的家目录,一个用户对应一个文件夹
/lib:库文件
/lib64:64位库文件
/lost+found:系统异常时临时保存数据,用于恢复等操作
/media:媒体目录
/mnt:挂载目录,通用挂载点
/opt:安装系统非必须软件目录
/proc:虚拟文件系统,会映射硬件信息
/root:root用户的家目录
/sbin:超级用户才能执行的命令目录
/selinux:linux一套安全机制,非常复杂,通常不用
/srv:存放本机或本机服务器的数据或服务
/sys:类似于/proc,也是虚拟文件系统,可以映射系统信息
/tmp:临时文件,可能随时销毁
/usr:存放用户安装的应用程序
/var:系统产生的不可自动销毁的文件,如:日志、缓存等
1、vim终端编辑器
介绍:vim是对vi的扩展,被誉为终端编辑器之神
安装:yum install -y vim
工作模式:正常模式、插入模式、编辑模式
正常模式:使用vim打开文件时的默认模式
vim filename 打开文件,若文件不存在则新建
esc:切换到正常模式
shift + zz:保存退出
常用操作:
vim filename +n 打开文件,定位到第n行
vim filename + 打开文件,定位到末尾
gg 定位到首行
G 定位到尾行
ngg 定位到第n行
^ 定位到行首
$ 定位到行尾
yy 复制光标所在行
p 粘贴
nyy 复制光标开始的n行
dd 删除光标所在行
ndd 删除光标开始的n行
u 撤销操作
ctrl + r 反撤销操作
插入模式:就是可以编辑文件内容的模式,在正常模式下输入以下字符进入:
i:在光标处插入
I:在行首插入
a:在光标下一个字符处插入
A:在行尾插入
o:下光标下一行插入空行
O:下光标上一行插入空行
s:删除光标所在字符并插入
S:删除光标所在行并插入
编辑模式:是对整个文件进行的操作,如:保存,退出
在正常模式下输入':'即可进入编辑模式
:w 保存
:q 退出
:wq 保存退出,等价于 shift + zz
:x 保存退出,等价于:wq
:q! 强制退出
:set nu 显示行号
:set nonu 隐藏行号
:行号 定位到指定行号
/内容 查找指定内容,n下翻,N上翻
:%s/原内容/新内容 使用新内容替换原内容,全部替换
:m,ns/原内容/新内容 使用新内容替换原内容,替换m到n行
友情提醒:若非正常关闭vim,则会生成临时文件(隐藏的),需要删除
2、文件及文件夹
touch:创建普通文件
rm:删除文件,-f表示强制删除,-r表示递归删除
cp:拷贝文件,若目标目录写上文件名可以顺便把名字改了,-r可以操作目录
mv:移动文件,若目标目录写上文件名可以顺便把名字改了
mkdir:创建文件夹,-p创建中间目录
rmdir:删除文件夹,只能删除空目录
3、查看文件
cat:从上到下查看文件,全部内容
tac:从下到上查看文件,全部内容
head:查看开头的指定行内容,默认10行,head -3 1.txt
tail:查看末尾的指定行内容,默认10行,tail -5 1.txt
more:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾会自动结束,q退出查看
less:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾不会自动结束,可以上下翻
nl:功能同cat,会多显示行号
wc:统计文件信息,显示结果:行数 | 单词数 | 字节数
说明:more/less更多用法是结合管道使用,ls /etc | more
4、用户及用户组
whoami:查看当前用户
useradd:创建用户
-d:指定家目录
-u:指定用户id(uid)
-g:指定所属组id(gid)
-s:指定shell解释器
说明:uid和gid要使用大于500的数字,小于500的被系统占用
passwd:设置指定用户的密码,若不指定设置当前用户的密码
userdel:删除用户,-rf删除用户相关目录,否则需要手动删除
groupadd:创建用户组
groupdel:删除用户组
gpasswd:将用户添加到某个组,从某个组删除
gpasswd -a test hello 将test用户添加到hello组
gpasswd -d test hello 将test用户从hello组中删除
chgrp:改变文件所属组,chgrp hello 1.txt
chown:改变文件拥有者[及组],chown root[:root] 1.txt
chsh:修改用户的shell解释器,chsh test -s /sbin/nologin
su - : 切换到指定用户,若不加'-',只会切换目录及用户身份,不会切换执行环境
若不指定用户。默认切换到root用户
涉及文件:
/etc/passwd:存放用户信息
/etc/group:存放用户组信息
/etc/shadow:存放用户密码
用户身份:
#:root用户
$:普通用户
5、文件权限管理
说明:在linux下,文件的权限有:所有者、所属组、其它的区分
权限:权限有:读(r)、写(w)、执行(x),ls -l即可查看
rwxr-xr--
修改:使用chmod命令修改文件的权限
格式:chmod [身份] [修改] [权限] 文件
身份:
u:用户
g:组
o:其它
a:所有身份
修改:
+:添加
-:去掉
=:设置
权限:
r:读
w:写
x:执行
简洁写法:chmod 0755 1.txt
所有者可读可写可执行、所属组可读可执行、其它可读可执行
6、软硬链接文件
说明:ls -l 结果的第一列就是文件类型
类型:
-:普通文件
d:目录文件
l:软链接
命令:ln [-s] 原文件 目标文件
分类:软链接、硬链接(很少用到)
创建:不加参数-s创建的链接就是硬链接,添加-s参数创建的就是软链接
例子:ln -s 1.txt 2.txt
7、文件查找
tree:查看目录结构,-L指定层级深度,tree / -L 2
find:查找文件
-name:指定名字,find / -name 1.txt
-type:指定类型,(b/c/d/p/l)
-size:指定大小,单位K/M/G,+表示大于,-表示小于,find / -size +1G
-perm:指定权限
-user:指定用户
-group:指定组
-maxdepth:指定最大层级深度
whereis:查找程序,不要使用find(效率太低)
which:专门用来查找命令
alias:给某个命令起别名,alias ls='ls --color=auto'
unalias:取消别名
grep:正则匹配查找
-i:忽略大小写
-n:显示行号
例子:
grep root /etc/passwd 在 /etc/passwd文件中查找包含root的行
ls /bin | grep '^m' 查找/bin目录下以m开头的文件
其它:
命令 [选项] [参数]
出问题查看帮助文档
1、内部帮助文档:命令 --help/-h
2、外部帮助文档:man 命令