01 基础命令
date 显示当前日期和时间
cal 显示当月的日历
uptime 显示系统从开机到现在所运行的时间
w 显示登录的用户
whoami 查看你的当前用户名
uname -a 显示内核信息cat /proc/cpuinfo 査看 cpu 信息
cat /proc/meminfo 查看内存信息
df 显示磁盘占用情况
du 显示目录空间占用情况
free 显示内存及交换区占用情况
pwd 查看当前所在目录
ls 查看当前目录下那些文件和文件夹
Is-a 查看详细文件
Is -all 显示详细的信息
cd .. 回当前目录得上一级目录cd - 回上一次所在得目录
mkdir 创建一个目录
mkdir -p 递归式去创建一些嵌套目录
rmdir 空目录名 创建一个目录
rm -rf 文件名 文件名 删除一个文件或者多个文件
cat 文件名 一屏查看文件内容:
more 文件名 分页查看文件内容
less 文件名 可控分页查看文件内容
touch file1 file2 创建2个文件;
mv 路径/文件 /路经/文件 移动相对路经下的文件到绝对路经下
mv 文件名 新名称 在当前目录下改名cp /路径/文件 ./ 移动绝对路经下的文件到当前目录下
02 find命令
使用格式: find [指定查找目录] [查找规则] [查找完后执行的action]
模糊查询: *.txt
iname与name的区别: iname不区分大小写,name区分小写
查找根目录下最后1天修改的文件: find / -mtime 1
查找根目录下最后50天访问的文件: find / -atime 1
查找根目录下最后50天到100天修改的文件: find / -mtime +50 -mtime -100
查找在过去一小时改变的文件: find / -cmin -60
查找在过去一小时修改的文件: find / -mmin -60
查找在过去一小时访问的文件: find / -amin -60
查找文件在最近的工作目录通过文件名: find .-name test.txt
通过文件名查找文件在home工作目录: find /home/ -name test.txt
03 文件压缩与解压
zip格式其实和windows的zip格式是一样的,也就是说可以和windows相互解压缩使用。
.gz格式本身不提供保留源文件功能,保留源文件是利用-c参数 + >,c会将压缩结果输出到控制台,而 > 可以将输出结果写入文件
.bz2格式 注意:bzip2命令不能压缩目录
.tar格式
.tar.gz格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式,重点掌握!
压缩多个文件只需要将多个源文件空格隔开即可,将文件压缩到指定目录可以使用路径+压缩文件名。
选项说明:
-z:压缩为.tar.gz格式
-x:解压缩.tar.gz格式
-t:只查看压缩文件,不解压
.tar.bz2格式是先打包为.tar格式,再压缩为.bz2格式,重点掌握
用法基本与.tar.gz格式一致。
端口查看
netstat -nupl(UDP类型的端囗)
netstat -ntpl(TCP类型的端囗)
a 表示所有n 表示不查询dns
t 表示tcp协议
u 表示udp协议p 表示查询占用的程序
l 表示查询正在监听的程序
04 查询进程
ps
a 显示现行终端机下的所有进程,包括其他用户的进程U 以用户为主的格式来显示进程状况
x 显示所有进程A 显示所有进程
e 此参数的效果和指定"A"参数相同
f 做一个更为完整的输出
以用户为主的格式来显示所有的进程 //ps aux
搜寻所有含有tomcat进程的详细信息并打印在屏幕上
( “|” 是管道符,管道符左边命令的输出就会作为管道符右边命令的输入)
//ps aux | grep tomcat
以用户为主的格式来显示所有的进程并通过less分页显示//ps aux | less
显示进程信息 //pa -A
显示root进程用户信息 //ps -u root显示所有命令,连带命令行 //ps -ef
05 终止进程
Kill
kill -15、kill -9区别:执行kil(默认kill -15)命令,系统会发送一个SIGTERM信号给对应的程序,大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。 //kill -15 pid
kill -9 命令,系统给对应程序发送的信号是SIGKILL,即exit。
exit信号不会被系统阻塞,所以kill -9 能顺利杀掉进程 //kill -9 pid
06 文件基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用 Il 或者 ls -l 命令来显示一个文件的属性以及文件所属的用户和组,如:
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等
[d]表示为目录
[-]表示为文件
[|]表示为link file 链接文件
[b]表示为设备文件中可供存储的接口设备
[c]表示为设备文件中的串行接口设备,如鼠标、键盘等
第0位确定文件类型
第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限。
第7-9位确定其他用户拥有该文件的权限。
[r]代表可读(read)、[w]代表可写(write)、[x]代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号[-]。
读(r)=4
写(w)=2
执行(x)=1
读+写+执行=4+2+1=7权限赋予:
chmod 属主:属组:其他用户 目录或文件 (chmod 777 test.php)
user、group、others 三种身份的权限,那么可用 u、g、o 来代表三种身份的权限,此外,用a代表 all 表示所有的身份。
变更权限的命令的语法为:chmod 身份 符号 权限 文件名或目录名
chmod (u,9,o,a) (+加入,-除去,=设定)(r,w,x)(文件名或目录)
更改文件属性
1、chgrp:更改文件属组
2、chown:更改文件的属主,也可以同时更改文件的属组
chgrp [-R]属组名 文件名
chown [-R]属主名 文件名
chown [-R]属主名:属组名 文件名
07 用户管理
Linux系统用户是根据用户ID来识别的,默认ID长度为32位,从默认ID编号从0开始,但是为了和老式系统兼容,用户ID限制在60000以下,Linux用户分总共分为三种,分别如下
root用户 (ID 0)系统用户 (1D 1-499)
普通用户 (ID 500以上)
CentOS
在CentOS下useradd与adduser是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码。
Ubuntu
Ubuntu下useradd与adduser有所不同
1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。
2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。
3、userdel删除用户
userdel只能删除用户,并不会删除相关的目录文件。userdel -r 可以删除用户及相关目录。
用户和用户组的对应关系
用户和用户组的对应关系有以下 4 种:
一对一:一个用户可以存在一个组中,是组中的唯一成员;
一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;
多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。
用户管理
Linux系统中下的账号文件主要有:用户名配置文件/etc/passwd
(1) 用户名
(2) 密码(已经加密)
(3) UID(用户标识),操作系统自己用的
(4) GID组标识。
(5) 用户全名或本地帐号。
(6) 开始目录
(7) 登录使用的Shell,就是对登录命令进行解析的工具
例:
1、groupadd 注:添加用户组;
列: groupadd test
2、groupmod 注:修改用户组信息列
列: (1):groupmod -g test1 test //修改用户组名称列
列: (2):groupmod -g 1234 test1 //修改用户组编号
3、groupdel 注:删除用户组
列:groupdel test14、groups 注:查看用户的用户组信息
5、useradd 注:创建用户
列(1): useradd test列(2):useradd -g user test //创建test用户,并指定用户组user
6、usermod 注:修改用户信息
列(1):usermod -c admin123 test //修改test用户描述信息为admin123
列(2):usermod -l test1 test //修改test名称位test1列(3):usermod -g user test1 //修改用户的用户组
列(4):userdel test1 //删除用户
08 vim编辑器
文件删除
x 删除游标所在的字符或者输入10x,删除10个连续字符X 删除游标所在前一个字符
Delete 同x
dd 删除整行或者输入3dd,将会删除3行文本dw 删除一个单词(不适用中文)
d$或D 删除至行尾d^ 删除至行首
dG 删除到文档结尾处
d1G 删至文档首部
文件复制
yy 复制光标所在的整行
Y或y$ 复制从光标所在处开始到行尾的内容
y0 复制从光标前一个字符开始到行首的内容。
y( 复制到上一句的开始
)y 复制到下一句的开始
z) yw 复制一个单词
文件粘贴选择
p 命令:粘贴命令,粘贴当前缓冲区中的内容,
v命令:在命令模式下进行文本选择。在需要选择的文本的起始处按下v键进入块选择模式,然后移动光标到块尾处。这之间的部分被高亮显示,表示被选中。
V命令:在命令模式下按行进行文本选择。在需要选择的文本的第行按下 V键,然后移动光标到块的最后一行。这之间的所有行被高亮显示,表示被选中。撤销命令
u 命令:该命令撤销上一次所做的操作。多次使用u命令会一步一步依次撤销之前做过的操作(在一次切换到文本输入模式中输入的所有文本算一次操作)。
U 命令:该命令会一次性撤销自上次移动到当前行以来做过的所有操作,再使用一次 U命令则撤销之前的 U命令所做的操作,恢复被撤销的内容。
查找检索命令
1、/查找内容
2、?查找内容
3、n 重复上一条检索命令
4、N命令重复上一条检索命令,但检索方向改变。例如上次的检索命令是向前检索,那么此次检索的方向是向后;如果上次的检索命令是向后检索,那么此次检索的方向是向前。
命令 说明
:q! 强制退出,不保存
:q 退出
:wg! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出
ZZ 保存并退出相当于 wq
按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行将
Ctrl+z 当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
Shift+zz 普通模式下输入即可保存退出vim
末行模式
行号设置命令:set nu (nonu)显示设置命令:set hlsearch (nohlsearch)
语法缩进命令:set autoindent
文件存储命令:set backup (nobackup)
显示选项命令:set all
语法高亮命令:syntax on (off)
大小写区分命令:set ignorecase (noignorecase)