一、 文件命令
命令格式[用户名@主机名 当前位置]权限,例如[root@localhost ~]#,root用户,localhost主机,家目录下,超级管理员权限(一般用户权限为$)。命令 [选项] [参数],选项可以合并书写。
命令 | 选项 | 作用 |
ls | -a | 显示所有文件(包括隐藏文件) |
-d | 查看目录本身 | |
-h | 人性化显示文件大小 | |
-i | 查看节点id号 | |
-l | 显示文件详细信息(等于ll命令) | |
-r | 反相排序 | |
-t | 按修改时间排序 | |
mkdir | 创建目录 | |
-p | 递归创建目录 | |
cd | 切换目录 | |
~ | 切换到家目录(或者只写cd) | |
- | 进入上次所在目录 | |
.. | 进入上级目录(相对路径开头) | |
/ | 从根目录出发(绝对路径开头) | |
pwd | 显示当前所在文件路径 | |
rmdir | 删除非空文件夹 | |
rm | 删除文件 | |
-r | 删除目录(询问删除每个子文件夹) | |
-f | 强制直接删除目录及子文件夹 | |
cp | 复制文件 | |
-r | 复制整个目录 | |
-p | 复制文件属性 | |
-d | 若文件为链接文件,复制链接属性 | |
-a | 完全一样复制(相当于选中-rpd三个选项) | |
mv | 源文件 目标文件,移动文件(同一文件下则改名) | |
ln | 创建文件的硬链接*(ln 目标文件 链接文件) | |
-s | 创建软连接 | |
locate | 在后台数据库中按文件名搜索文件,速度快 | |
update | 更新数据库(默认每天更新一次) | |
find | +[搜索范围] [搜索条件] | |
-name | 按文件名搜索 | |
-iname | 不区分大小写 | |
-user | -user root,按用户名为root的进行搜索 -nouser搜索没有所属者的文件 | |
-time | -atime(访问文件)-ctime(改变文件属性)-mtime(改变文件内容) -10(十天内)10(十天当天)+10(十天前) | |
-size | 搜索文件大小为 +10k(>10k)10k(=10k) -10k(<10k)的文件 | |
-inum | 按照i节点号查找文件 | |
-a | 逻辑与两个条件 | |
-o | 逻辑或两个条件 | |
-exec | 对搜索结果执行第二条命令,格式-exec 命令 {} \; | |
grep | +“关键字” 文件名,搜索文件中包含关键字的行 | |
-i | 不区分大小写 | |
-v | 排除包含关键字的行 | |
wc | -l | 统计个数,例如统计文件夹下文件数量:ls -l | grep “^-” | wc -l |
whereis | 搜索系统命令的所在位置 | |
-b | 只查看命令的执行文件的位置 | |
-m | 只查看命令的帮助文档的位置 | |
which | 搜索命令执行文件位置,别名 |
man | +[级别] 命令,帮助查看命令的详细介绍 | |
-f | 查看命令有哪些帮助级别,=whatis | |
-k | 查看包含关键字的帮助文档,=apropos | |
help | 命令 --help,命令的帮助选项 help 内部命令,获取shell内部命令的帮助 | |
info | 打开命令的帮助文档 | |
zip | +压缩后文件名 原文件名,压缩为zip文件 | |
-r | 递归打包子目录 | |
-x | 排除打包的文件 | |
-e | 加密压缩 | |
-l | 将 LF 转换为 CR+LF,解决与Windows系统的兼容问题 | |
unzip | 解压缩zip格式 | |
-d | 指定解压缩的目标文件夹 | |
-l | 查看压缩包内容 | |
-O | 指定解压缩的编码格式,如GBK、UTF-8 | |
gzip | +源文件名,自动压缩为.gz格式并删除源文件 | |
-r | 压缩文件目录下的子文件 | |
-d | 解压缩gzip文件(=gunzip +文件名) | |
bzip2 | +源文件名,压缩为bzip2格式并删除源文件,不支持压缩目录 | |
-k | 保留源文件 | |
-d | 解压缩文件(=bunzip2 +文件名) | |
tar | -c | 创建一个tar包 |
-v | 以可视化的方式输出打包文件内容 | |
-f | 创建文件,其后跟生成的文件名 | |
-cvf | 生成文件名 源文件列表,打包源文件为指定文件名 | |
-x | 解包文件 | |
-xvf | 解打包 | |
-z、j | 指定压缩工具为gzip、bzip2 | |
-zc(x)vf | 打包并压缩为(或者解压).tar.gz格式 | |
-jc(x)vf | 打包并压缩为(或者解压).tar.bz2格式 | |
-C(大写) | +位置,解压到指定文件夹 | |
-t | 查看tar压缩包的内容 | |
-z(j)tvf | 仅查看压缩包内的文件 | |
shut down | +[选项] 时间,关机选项 | |
较为安全的关机命令,会保存服务 | ||
-h | 关机 | |
-r | 重启 | |
-c | 取消前一个关机命令 | |
logout | 退出登陆 | |
mount | +[-t 文件系统] [-o 特殊选项] 设备文件名 挂载点,挂载命令 | |
df | 查看磁盘使用情况,-h 以易读的方式显示 | |
umount | +设备文件名或者挂载点,卸载(设备用完一定要卸载) | |
fdisk | -l | 查看已经存在的设备文件名 |
w | 查看系统登陆相关信息 | |
who | 简单查看登陆信息 | |
last | 查看过去登陆用户信息 |
注:
1、 文件权限有十位,第一位代表文件类型,linux文件类型有七种,常见三个:-普通文件、d目录文件、l软连接文件。后九位二进制每三位一块,分别代表所有者,所属组,其他人的权限。其中的三位分别对应r(读)、w(写)、e(执行)权限。
2、 文件的硬链接拥有相同的i节点与存储块,可以看作同一文件,不可跨分区,不可对目录使用。软连接类似于快捷方式,通过软连接找到源文件再找到数据块,拥有自己的i节点与存储块,其文件权限为lrwxrwxrwx。创建软连接要使用绝对路径,即使是在同一文件夹下。
3、 $PATH变量指定一些bin文件位置,对应系统执行的命令,如果想让自己编写的命令不用绝对路径去找,就得把命令放在$PATH的文件目录下。
4、 Grep是包含匹配查询,Find是完全匹配查询,如果希望模糊查询,需要使用通配符,*匹配任意内容,?匹配任意一个字符,[]匹配括号内任意一个内容。例如find /root -name *[cd]查找所有以c或者d结尾的文件名。
5、 利用mount命令挂载光盘:首先将光盘插入光驱或者在虚拟机加载光盘文件。在根目录下的mnt/、misc/或者media/下创建挂载点cdrom目录。最后执行挂载命令:mount -t iso9660 /dev/sr0 /mnt/cdrom,其中sr0是光盘的设备文件名。这样在/mnt/cdrom/下就可以看到光盘内文件了。
二、Linux根目录下的文件
文件夹 | 描述 |
/bin | 保存系统常用命令的二进制可执行文件,其中sbin下为root用户使用的超级命令 |
/boot | 启动文件目录 |
/dev | 硬件文件目录 |
/etc | 配置文件目录 |
/home | 存放所有用户文件的根目录 |
/root | 超级用户文件的根目录 |
/lib | Linux函数库 |
/media、mnt、misc | 外部存储设备的挂载点空目录 |
/proc、sys | 内存的挂载点 |
/tmp | 临时文件保存目录 |
/usr | 用于存放系统应用程序 |
/usr/lib | 安装系统级应用,类似于C:/Windows/System32 |
/usr/bin | 存放系统应用的二进制文件 |
/usr/src | 源代码,linux内核的源代码就放在/usr/src/linux里 |
/usr/local | 用户级的程序目录,可以理解为 C:/Progrem Files/ |
/var | 系统可变文档目录 |
/opt | 用户软件安装目录,类似于D:Software |
三、进程操作
Ctrl+c | 结束当前进程 |
Ctrl+z | 将一个正在前台执行的命令放到后台,并且处于暂停状态。 |
jobs | 查看后台进程 |
bg %1 | 将一个在后台暂停的命令1继续执行 |
fg %1 | 将后台中的命令1调至前台继续运行 |
kill %1 | 结束后台命令1 |
命令 + & | 在后台执行某个命令 |
nohup command > out.log | 一直执行command命令,即使用户退出,并把输出保存在out.log |
Ctrl+Shift+C/V | 在命令行复制/粘贴 |
例如:nohup command > out.log 2>&1 & ,代表一直执行command命令,将标准输出保存在out.log。
2>&1代表将错误输出到标准输出,Linux中:0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error)
最后一个&代表这条命令在后台执行
四、网络操作
检查防火墙是否启动:firewall-cmd --state,
启动防火墙:systemctl start firewalld
查看防火墙开启的端口:firewall-cmd --permanent --zone=public --list-ports
若没有80端口,则手动开启:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:firewall-cmd --reload
验证80端口是否开启:firewall-cmd --zone=public --query-port=80/tcp
查看占用80端口的进程:
netstat -nlp |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2942/java
查看进程所在位置:linux在启动一个进程时,会在/proc
下创建一个以PID命名的文件夹,该进程的信息存在该文件夹下,其中的exe即为运行位置,例如查看pid为2942的进程位置
ll /proc/2942|grep exe
lrwxrwxrwx 1 root root 0 Jan 19 21:33 exe -> /usr/java/jdk1.8.0_271-amd64/bin/java