Linux指令
注:本笔记基本上是个人使用liux的常用指令笔记,个人感觉视频课里的东西没啥用。因为经常部署Hadoop大数据分布式系统,所以感觉没啥需要记录的,以后有空可能会写一下怎么部署的笔记吧。
-
Linux目录结构
-
/ - 根目录
-
/bin - 存放重要的用户二进制文件目录
-
/boot - 存放系统启动时需要文件的目录
-
/dev - 设备文件目录
-
/etc - 配置文件目录
-
/home - 用户目录
-
/lib - 重要的共享库目录
-
/lost+found - 恢复文件目录
-
/mnt - 临时挂载点目录
-
/opt - 可选包目录
-
/proc - 内核和进程文件目录
-
/root - root 用户的 home 目录
-
/run - 应用程序状态目录
-
/sbin - 系统管理员用的二进制文件目录
-
/srv - 服务数据目录
-
/tmp - 临时文件目录
-
/usr - 用户二进制文件和只读文件目录
- /usr/bin 存放用户命令
- /usr/include 存放编程语言的头文件和包含文件
- /usr/lib 存放各个应用程序的库函数和目标文件
- /usr/local 存放系统管理员下载的软件的安装目录
- /usr/sbin 存放不常用的系统命令
- /usr/src 存放源码
-
/var - 变动数据目录
- /var/cache 存放应用程序运行产生的临时文件
- /var/lib 存放程序在执行过程中需要使用到的数据文件,每个软件在此目录下都有自己独自的目录
- /var/lock 存放程序的锁状态
- /var/log 存放各种日志文件
- /var/mail 存放个人电子邮箱
- /var/run 有些程序在运行后,会将他们的 pid、socket 文件放置到这个目录中
-
-
Linux基础指令
-
ls (list):列出指定目录(默认当前)下的所有文件和目录的名称
- ls
- ls /root
- ls -l // 等价于ll
- ls -la // 显示包括隐藏文件(以点开头的文件/目录)
- ls -lh // 以可读性较高的形式列出文件和目录
-
pwd:打印当前工作目录
-
cd:切换目录
- cd ~ // 快速切换到当前用户的家目录
-
mkdir:创建目录,
- mkdir 路径(可以是文件夹名称,也可以是包含名称的完整路径)
- mkdir -p 路径 // 创建路径中的所有文件夹
- mkdir 路径1 路径2 … // 创建多个
-
touch:创建文件
- touch 文件路径
-
cp:复制文件/文件夹到指定位置
- cp 被复制的文档目录 目的文档目录 // 复制过程中,可以对文件重命名
- 进行文件夹复制时,需要条件 -r 选项 : cp -r ./a/ /home (-r:表示递归复制)
-
mv:移动文档到新的位置(剪切)
- mv 需要移动的文档路径 目的路径
- 重命名
-
rm:移送/删除文档
-
rm [选项] 需要移除的文档
-f :强制删除
-r:递归删除
-
-
vim:文本编辑
- vim 文件路径 // 文件不存在则创建
-
输出重定向:一般命令的输入都会显示在终端,需要将一些命令的执行结果保存到文件中,则需要使用到输出重定向
> : 覆盖输出,会覆盖掉原先的文件内容
>> :追加输出,不会覆盖原始文件内容,
- ls -lh > ls.txt // ls.txt文件可以不存在
-
cat:
- 直接打开文件
- 合并文件:cat 待合并的文件路径1 待合并的文件路径2 … > 合并之后的文件路径 // 合并文件
-
-
进阶指令
-
df:查看磁盘空间
- df -h
-
free:查看内存使用情况
- free -m // 以Mb为单位进行查看
-
Swap:用于临时内存,当系统真实内存不够用时,可以临时使用磁盘空间来充当内存
-
head:查看文s件的前n行,如果不指定n,默认显示10行
- head -n 文件路径 // n表示数字,表示显示几行
-
tail:查看文件的末几行
- tail -n 文件路径 // n为数字,表示显示几行
- tail -f 文件路径 // 查看文件的动态变化
-
less:以较少的内容进行输出,按辅助功能键(数字+回车、空格键(翻页)+上下方向键)查看更多,按q键退出
-
wc:统计文件内容信息(包含行数、单词数、字节数)
- swc -lwc 需要统计的文件路径 // lwc // 分别表示行数、单词数、字节数
-
date:表示操作时间日期(读取,设置),CST(当地时间),UCT,GMT
- date //
- date +%F // 2021-6-28,等价于date “+%Y-%m-%d”
- date “+%F %T” // 2021-06-28 21:18:40,等价于:date “+%Y-%m-%d %H:%M:%S”
- date -d “-1 day” // 一天前的时间,单位:day/year/month/
-
cal:操作日历
- cal // 输入当前月份日历
- cal -3 // 输入上月+ 本月+下月
- cal -y 年份 // 输入指定年份日历
-
clear/ctrl + L :清除终端中已经存在的信息, ctrl+L是快捷键方式
-
管道(|) :配合指令使用,用于:过滤、
-
过滤:
- ls | grep a // 过滤出当前目录下包含a的目录,grep主要用于过滤
-
扩展处理
- ls | wc -l // 统计当前目录下的文档数量
-
-
-
高级指令
-
hostname :操作服务的主机名(读取,操作(使用hostname指令操作是临时的))
- hostname // 输入完整主机名
- hostname -f // 输出当前主机名中的FQDN(全限定域名)
-
id:查看一个用户的一些基本信息(用户id,用户组id,附加组id),如果不指定用户则默认当前用户
用户信息:/etc/passwd, 用户组信息: /etc/group
- id
- id 用户名
-
whoami :显示当前登录用户名,一般用于shell脚本
-
ps -ef:主要用于查看服务器的进程信息
- -e :列出全部进程
- -f:显示全部的列
ps -ef | grep 进程名称
- UID:该进程执行的用户
- PID:进程id
- PPID:父级进程ID,如果一个进程的父级进程找不到,则该程序的进程称之为僵尸进程
- C:cpu的占用率
- STIME:进行的启动时间
- TTY:终端设备,发起该进程的设备识别符号,如果显示"?",则表示该进程并不是由终端设备发起
- CMD:该进程的名称或者对应的路径
-
top:查看服务器的进程占用的资源
-
top // 动态显示,按q键退出
- M:按内存(MEM)从高到低进行排序
- P:按CPU使用率
- 1:当服务器拥有多个cpu的时,切换展示各个菜谱的详细信息
- PID:进程id
- USER:该进程对应的用户
- PR:优先级
- VIRT:虚拟内存
- RES:常驻内存
- SHR:共享内存, 进程实际使用内存=常驻内存-共享内存
- S:表示进程的状态 S/R
- %CPU:cpu占用百分比
- %MEM:内存占用百分比
- TIME+: 执行的时间
- COMMAND:进程的名称或路径
-
-
du [-sh] :查看目录的真实大小
选项含义:
- -s:只显示汇总的大小
- -h:表示以高可读性的形式显示
-
find:用于查找文件
-
find 路径 选项 选项的值
- 选项: -name(按文档名称模糊搜索), -type(按文档类型 (f/d: 文件/文件夹))
-
find ./ -name *conf | wc -l // 统计当前目录下以conf结束的文件个数
-
find ./ -type f // 查找当前目录下的所有文件
-
-
service:用于控制一些软件的服务启动/停止/重启
- service 服务名 start/stop/restart
-
kill:杀死进程
- kill 进程id // 需与ps配合使用
- killall 进程名称
-
ifconfig:操作网卡相关信息,inet是网卡的IP地址
-
reboot:重启计算机
- reboot
- reboot -w //模拟重启,但是不重启,写关机与开机的日志信息(用于测试日志配置)
-
shutdown:
- shutdown -h now // 立即关机
- shutdown -h 15:25 “关机提示语” //定时关机
- halt // 立即关机
- init 0 // 立即关机
- poweroff // 立即关机
-
uptime:输出计算机的持续在线时间(从开机到现在的运行时间)
-
uname:获取操作系统的相关信息
- uname // 操作系统的类型
- uname -a
-
netstat -tnlp:查看网络连接状态
- -t:列出tcp协议的连接
- -n:将地址从字母组合转化成IP地址(如localhost -> 127.0.0.1),将协议转化成端口号来显示
- -l:过滤出state字段的值为LISTEN(监听)的连接
- -p:发起连接的进程pid和进程名称
-
man:手册(manual),包含了Linux中全部命令手册
删除光标前后的内容:
- 前:ctrl+u
- 后:ctrl+k
-
其实还有后续各种光盘挂载,软件安装,镜像更换等指令,但是我已经懒得写了,笔记只是为了完成打卡任务。