- Linux 严格区分大小写
- Linux 中所有的内容以文件形式保存,包括硬件、用户和文件
- Linux 不靠扩展名区分文件类型,是靠权限来区分的,但是有一些约定的扩展名,是给管理员看的
- 压缩包 .gz .bz2 .tar.bz2 .tgz
- 二进制文件 .rpm
- 网页文件 .html .php
- 脚本文件 .sh
- 配置文件 .conf
- Windows 下的程序不能直接在 Linux 中安装和运行
- Linux 更多使用字符界面
-
占用的系统资源更少
-
减少了出错和被攻击的可能性,会让系统更稳定
-
连接服务器
- 最简单的就是直接使用 web shell
- ssh 连接
ssh root@106.14.166.104
回车 -> yes -> 输入密码
linux 常用命令
常见目录
目录 | 用途 |
---|---|
/ | 根目录 |
/boot | 启动目录,启动相关文件 |
/dev | 设备文件 |
/etc | 配置文件 |
/home | 普通用户的家目录,可以操作 |
/lib | 系统库保存目录 |
/mnt | 移动设备挂载目录 |
/media | 光盘挂载目录 |
/misc | 磁带机挂载目录 |
/root | 超级用户的家目录,可以操作 |
/tmp | 临时目录,可以操作 |
/proc | 正在运行的内核信息映射,主要输出进程信息、内存资源信息和磁盘分区信息等等 |
/sys | 硬件设备的驱动程序信息 |
/var | 变量 |
/bin | 普通的基本命令,如 ls, chmod 等,一般的用户也都可以使用 |
/sbin | 基本的系统命令,如 shutdown, reboot, 用于启动系统,修复系统,只有管理员才可以运行 |
/usr/bin | 是你在后期安装的一些软件的运行脚本 |
/usr/sbin | 放置一些用户安装的系统管理的必备程序 |
命令基本格式
命令提示符
[root@xxxx tmp]#
- root 当前登录用户
- localhost 主机名
- ~ 当前工作目录,默认是当前用户的家目录
- 提示符, 超级用户是 # , 普通用户是 $
命令格式
- 命令 [选项] [参数]
- 当有多个选项时可以写在一起
- 一般参数有简化和完整写法两种 -a 与 --all 等效
ll = ls -l
- ls: list 列出当前的文件夹下的所有文件
- -l: 列出文件的详细信息
- -a 显示所有文件,包含隐藏文件
- -d 查看目录本身的属性,而非子文件
- -h 人性化的方式显示文件大小
mkdir
- 创建目录
- mkdir -p [目录] // 递归创建
mkdir aa
mkdir -p bb/cc
cd
- 切换所在目录 change directory
- cd 目录
- ~ 家目录
- . 当前目录
- .. 上级目录
- 相对路径是参照当前所在目录
- 绝对路径是从根目录开始
- 按 TAB 键可以补全命令和目录
cd hello
pwd
- 显示当前目录 pwd = print working directory
rmdir
- 删除空目录 remove empty directory
- rmdir [目录]
rmdir hello
rm
- 删除文件或目录 remove
- rm [文件或目录]
- -r 删除目录
- -f 强制删除
- rm -rf [文件或目录] 递归强制删除所有目录
rm -rf hello
cp
copy
- -r 复制目录,默认是文件
- -i 会在复制文件的时候提示
mv
移动或改名
ln
- 链接命令,生成链接文件 link
- ln [源文件] [目标文件]
- 创建硬链接
- ln -s [源文件] [目标文件]
- -s 创建软链接
- 类似与 windows 快捷方式
- 修改任意一个文件, 另一个都会改变
- 删除源文件,软链接不能使用
- 软链接源文件必须写绝对路径
ln -s /root/folder/1.txt 11.txt
文件搜索命令
locate
- 在后台数据库中按文件名搜索,速度比较快
- 数据保存在 /var/lib/mlocate/mlocate.db 后台数据库, 每天更新一次
- 可以 updatedb 命令立刻更新数据库
- 只能搜索文件名
yum install mlocate -y // 需要先安装 mlocate
which
- 可以看到别名 which ls
- 能看到的都属外部安装的命令
- 无法查看 shell 自带的命令, 如 which cd
环境变量
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
- 定义的是系统搜索命令的路径
- echo $PATH
- 操作系统是多用户的,系统变量针对所有的用户生效,用户变量针对当前用户生效
find
- 文件搜索命令
- find [搜索范围][搜索条件]
按名称搜索
- 避免大范围的搜索, 会非常消耗系统资源
- -name
- -i 不区分大小写
find / -name 1.txt // 查找根目录下名称为 1.txt 的文件
通配符
- find 是在系统当中搜索符合条件的文件名,如需要匹配,使用通配符匹配, 通配符是完全匹配
- 通配符
-
- 匹配任意内容
- ? 匹配任意一个字符
- [] 匹配任意一个中括号内的字符
-
touch abc.txt
find . -name ab[cdef].txt // 可以找到 abc.txt 文件
find . -iname ab[Cdef].txt // 可以找到 abc.txt 文件
按时间搜索
find -mtime +5
参数 | 含义 |
---|---|
atime | 文件访问时间 |
ctime | 改变文件属性的时间 |
mtime | 修改文件内容的时间 |
参数 | 含义 |
---|---|
-5 | 5天内修改的文件 |
5 | 5天前当天修改的文件 |
+5 | 5天前修改的文件 |
按大小搜索
- k 小写, M 大写
find . -size +0k
参数 | 含义 |
---|---|
-8k | 小于8k |
8k | 等于8k |
+8k | 大于8k |
综合应用
find /tmp -size +10k -a -size -20k
- 查找 /etc 目录下, 大于 10kb并且小于20kb
- a and 逻辑与,两个条件都满足
- -o or 逻辑或, 两个条件满足一个就可以
- -exec 对上个命令的结果进行操作
find /tmp -size +10k -a -size -20k -exec ls -lh {} \;
grep
- 在文件当中匹配符合条件的字符串
- -i 忽略大小写
- -v 排除指定字符串
- find 命令,在系统当中搜索符合条件的文件名, 如需匹配,使用通配符匹配
- grep 命令在文件当中搜索符合条件的字符串,如需匹配使用正则表达式匹配
vi a.txt
cat a.txt // cat concatenate 命令用于连接文件并打印到标准输出设备上。
grep b a.txt
grep -v b a.txt // a.txt 中不报含 b 的
grep -i f a.txt // a.txt 中找到 f ,不区分大小写
解压缩命令
zip
- 压缩文件或目录是一种压缩格式 |功能|命令| |---|---| | 压缩文件| zip 压缩文件名.zip 的源文件 | |压缩目录| zip -r 压缩目录名 .zip源目录| |解压| unzip 加压目录名 .zip|
yum install unzip zip -y
mkdir book
touch book/1.txt
touch book/2.txt
zip -r book.zip book
rm -rf book
unzip book.zip
gzip
- gzip 为高压,可以把文件压缩的更小
- gzip 命令不支持目录
命令 | 示例 |
---|---|
gzip 源文件 | gzip a.txt 不会保存源文件,压缩后只有压缩文件 |
gzip -c 源文件 > 压缩文件 | gzip -c a.txt > a.txt.gz 会保存源文件 |
gzip a.txt // 不会保存源文件,压缩后只有压缩文件
gzip -c a.txt > a.txt.gz // 会保存源文件 -c 创建包 > 重定向,会把 a.txt 写到 a.txt.gz 中去
gzip - r book // 会把 book 目录下的文件压缩
gzip -d a.txt.gz // 解压
gunzip a.txt.gz // 解压
useradd zhangsan // 创建张三用户
tar
- 打包命令,只打包不压缩
- tar -cvf 打包文件名 源文件
- -c 打包
- -v 显示过程
- -f 指定打包后的文件名
tar -cvf book.tar book
- -x 解开包
tar -xvf book.tar
tar.gz
- gzip 压缩比较高,但是不能压缩文件夹。
- tar可以把一个文件夹打包成一个文件,没有压缩功能
- 压缩文件夹时 可以先 tar 后 gzip`
tar -zcvf book.tar.gz book // -z 是 gzip 的意思
tar -zxvf book.tar.gz // 解压
关闭和重启命令
shutdown 关机命令
- -c 取消前一个关机命令
- -h 关机
- -r 重启
shutdown -r 06:00
shutdown -c
init
- 关机 init 0
- 重启 init 6
logout
- 退出登录 logout
谁
- w 或 who
- last 倒序,最近登录者
查看文件内容
cat 1.txt
more
- 查看更多, 一页一页的看, 可以翻页(空格是下一页, b 是上一页)
head
- head -2 1.txt // 查看前两行
tail
- tail -2 1.txt // 查看后两行
- tail -f 1.txt // 实时查看文件变化的内容
head -6 1.txt | tail -3 // 查看前 6 条的后3条 // 123456789 -> 123456 -> 456