一、基础知识
Linux系统的文件结构
/bin | 二进制文件,系统常规命令 |
/boot | 系统启动分区,系统启动时读取的文件 |
/dev | 设备文件 |
/etc | 大多数配置文件 |
/home | 普通用户的家目录 |
/lib | 32位函数库 |
/lib64 | 64位库 |
/media | 手动临时挂载点 |
/mnt | 手动临时挂载点 |
/opt | 第三方软件安装位置 |
/proc | 进程信息及硬件信息 |
/root | 临时设备的默认挂载点 |
/sbin | 系统管理命令 |
/srv | 空目录,存放一些服务产生的文件 |
/var | 这个目录的内容经常变动的,/var/log用于存放系统日志,/var/lib存放系统库文件等。 |
/sys | 内核相关信息 |
/tmp | 临时文件 |
/usr | 用户相关设定 |
Linux系统命令行的含义
示例:root@app00:~#
root //用户名,root为超级用户
@ //分隔符
app00 //主机名称
~ //当前所在目录,默认用户目录为~,会随着目录切换而变化。
# //表示当前用户是超级用户,普通用户为$。
命令组成
内部命令:是指集成于shell解释器程序(如bash)内部的一些特殊指令,也称为内建(built-in)指令
外部命令:是指linux操作系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应系统中的一个文件,是属于shell解释器程序之外的命令,所以称为外部命令。
命令基本格式
命令 [ 选 择 ] [ 参 数 ]
二、基础操作
重启系统关闭系统
立刻关机 shutdown -h now 或者 poweroff、init0
立刻重启 shutdown -r now 或者 reboot、init6
获得命令帮助
使用help命令
ls help --查看ls命令使用用法
使用man手册
man ls --更详细查看命令使用帮助,按 “ q ” 退出
三、目录操作
ls命令
就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
常用参数搭配:
ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序 ls -h 以易读大小显示 ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
切换目录(cd)
cd / //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全
创建目录(mkdir)
mkdir tools //在当前目录下创建一个名为tools的目录
mkdir /bin/tools //在指定目录下创建一个名为tools的目录
删除目录与文件(rm)
rm 文件名 //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除
修改目录(mv)
mv 当前目录名 新目录名 //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹
拷贝目录(cp)
cp /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
搜索目录(find)
find /bin -name 'a*' //查找/bin目录下的所有以a开头的文件或者目录
查看当前目录(pwd)
pwd //显示当前位置路径
pwd -P // 查看软链接实际路径
四、文件操作
创建文件(touch)
touch wzy.txt //在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间
删除文件(rm)
rm 文件名 //删除当前目录下的文件
rm -f //删除当前目录下的文件,不在询问
rm -r //删除目录
编辑文件(vi、vim)
vi 文件名 //打开需要编辑的文件
--进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
## 操作步骤示例 ##
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
## 补充 ##
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件
查看文件
cat a.txt //查看文件最后一屏内容
less a.txt //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt //显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
tail -10 a.txt //查看文件的后10行,"Ctrl+C"退出查看
find 命令
find . -name "*.c" //将目前目录及其子目录下所有延伸档名是 c 的文件列出来
find . -type f //将目前目录其其下子目录中所有一般文件列出
which 命令
在 linux 要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:
which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。
grep 命令
grep -i "the" demo_file //在文件中查找字符串(不区分大小写)
grep -A 3 -i "example" demo_text //输出成功匹配的行,以及该行之后的三行
grep -r "ramesh" * //在一个文件夹中递归查询包含指定字符串的文件
五、系统管理
防火墙操作
systemctl status firewalld.service //查看防火墙状态
systemctl stop firewalld.service //关闭运行的防火墙
systemctl disable firewalld.service //永久禁止防火墙服务
修改主机名
hostnamectl set-hostname 主机名 //永久修改
查看进程
ps -ef //查看所有正在运行的进程
结束进程
kill pid //杀死该pid的进程
kill -9 pid //强制杀死该进程