Linux

一.目录

/bin(*) 常用指令目录

/sbin super user bin 系统管理员使用的系统管理程序

/dev 管理设备

/home(*) 存放普通用户主目录

/root(*) 系统管理员目录

/lib 系统开机所需最基本的动态连接共享库

/etc(*) 所有系统管理员需要的配置文件和子目录 my.conf

/usr(*) 用户的程序和文件存在目录

/boot(*) 启动linux的核心文件 包括连接文件和镜像

/tmp 临时文件目录

/media(*) 系统识别外接设备

/mnt(*) 临时挂载别的文件系统目录

/opt 安装软件目录

/var(*) 存放不断扩充的东西 习惯放日志文件

/usr/local(*) 另一个给主机安装软件的目录 一般通过编译源码方式安装程序

 

二.实操

1.vi和vim

三种模式

  • 正常模式 vi+文件

  • 插入模式 i

  • 命令行模式 esc -> :wq!  q!

快捷方式

  • 拷贝当前行 正常模式下 yy or 5yy拷贝当前行下5行 粘贴p

  • 删除当前行 正常模式下 dd or 5dd

  • 查找关键词 命令模式下 /关键字 回车 n查找下一个

  • 设置文件行号 命令模式下 :set nu(开)   :set nonu(关)

  • 文件底部 G 最末,gg最首

  • 撤回 正常模式下 u

  • 光标跳转到哪一行 :set nu 正常模式 页数 shift g

 

2.关机&重启命令

shutdown

shutdown -h now :立即关机

shutdown -h 1 : 1分钟后关机

shutdown -r now 重启

halt  等价于关机

reboot  重启系统

syn  把内存数据同步到磁盘(重要!!!关机重启前建议先执行)

logout  注销

 

3.用户管理&用户组

用户

  • useradd 用户名 添加用户和用户名的家目录

  • useradd -d 目录 用户名 在指定目录下创建用户

  • useradd -g 组名 用户名 创建用户并指定到用户组

  • passwd 用户名 设置密码

  • userdel 用户名 删除用户及保留家目录

  • userdel -r 用户名 删除用户及目录

  • id 用户名 查询用户信息

  • su 用户名 切换用户(权限高账号到权限低账号不需要密码)

  • exit 返回原来用户

用户组

  • groupadd 组名 添加组

  • groupdel 组名 删除组

  • usermod -g 用户组 用户名 修改用户所在的用户组

用户和用户组关系

etc/passwd文件

结构:账号:密码:用户id:组id:用户的目录:shell

etc/shadow文件

口令文件

etc/group组配置文件

结构:组名:口令:组id:组成员

 

三.实用指令

init 运行级别

例:密码丢失??? or 运行级别被人修改成0 开机后就立即关机???

1.电脑启动引导页 按enter

2.输入e

3.选择第二个(编辑内核) 输入e

4.输入 1 (单用户模式)  回车键

5.输入b 进入单用户模式(单用户模式不需要密码)

6.passwd 用户  修改密码

 

帮助指令

  • man 命令

  • help 命令

  • 看不懂英文咋办???网上搜索

文件目录类指令

  • pwd 当前目录路径

  • ls 当前目录下所有文件

  • mkdir 目录 创建目录( -p多级目录)

  • rmdir 目录 删除空目录(-rf删除非空目录)

  • touch 文件 创建空文件

  • rm 文件 删除文件(-r递归删除 -f强删)

  • cp source dest 拷贝文件(-r 递归拷贝文件)

  • mv old new 移动文件或重命名

  • cat 文件名 查看文件内容(只读)(-n显示行号)

  • more 文件名 全屏按页显示内容

  • less 文件名 分屏查看文件内容

  • > 文件名 输出重定向,覆盖原来文件内容

  • >> 文件名 追加,追加再文件最后一行

  • echo 输出内容到控制台

  • head 显示文件前10行(-n 行数 指定显示行数)

  • tail 显示文件后10行(-n 行数 指定显示行数,-f 实时显示文件内容,用于查看日志变化)

  • ln -s 原目录或文件 软连接 软连接/符号连接(rm -rf 删除软连接)

  • history 查看执行过的历史命令(history 数字 最近几个指令)

  • !数字 历史编号为数字的命令

     

时间日期

  • date "+%Y %m %d" 显示当前日期

  • date -s "2020-09-30" 设置系统时间

  • cal 当前的日历(cal 年 显示一年日历)

     

搜索查找

  • find 【搜索范围】【选项】 文件名 查找目录下根据条件查找文件

  • find / -name 文件 根据名字查找

  • find / -user 文件 根据用户查找

  • find / -size +20M 根据文件大小查找

  • find / -type f -size +1G  linux如何查看系统占用磁盘空间最大的文件及让文件按大小排序
  •  

  • locate 基于数据库查看(先执行updatedb,再执行该命令)

  • grep和管道符| grep过滤查找 管道符将前一个命令结果传给后面命令 (-n 显示行号。-i 忽略大小写)

  • cat 文件名 | grep -n 查找内容

     

压缩和解压

  • gzip 目标文件 压缩文件 ——原文件会被删除

  • gunzip 文件 解压——原文件被删除

  • zip 文件 压缩(-r 递归压缩 -d指定压缩路径)

  • unzip 文件 解压

  • tar 【选项】 文件 内容 打包指令(-c 生产tar打包文件 -v 显示详细信息 -f指定压缩文件名 -z打包同时压缩 -x解包)

  • tar -zcvf *.tar.gz 文件1 文件2 压缩

  • tar -zxvf *.tar.gz -C 目录

 

文件上传下载

  • #scp 【本地文件路径】 【服务器用户名】@【服务器ip】:【服务器文件存放路径】 scp local_folder remote_username@remote_ip:remote_folder
  • #scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】 scp -r remote_username@remote_ip:remote_folder local_folder

 

四.权限

1.权限介绍

执行命令 ls -ahl

例 :-rw- r-- r-- 1 sun root 6 9月 19:22 *.txt

-【文件类型】

  • - 普通文件

  • d 目录

  • l 软连接文件

  • c 字符设备【键盘,鼠标】

  • b 块文件,硬盘

rw-【文件所有者权限】

  • r 读

  • w 写

  • x 执行

  • -

r--【文件所在组权限】

  • r 读

  • w 写

  • x 执行

  • -

r--【文件其他组权限】

  • r 读

  • w 写

  • x 执行

  • -

1 【目录个数】

  • 文件的话默认1

  • 目录的话看子目录个数

sun 【文件所有者】

root 【文件所在组】

6 【文件的大小】

  • 文件的话表示大小

  • 目录的话默认4096

9月 19:22 【文件最后修改时间】

2.修改权限

第一种方式:chmod

u: 所有者 g: 所在组 o: 其他组 a:所有人

  • chmod u=rwx,g=rx,o=x 文件名

  • chmod o+x 文件名

  • chmod a-w 文件名

第二种方式:数字变更(推荐

规则:r=4 w=2 x=1 rwx=4+2+1=7

chmod u=rwx,g=rx,o=x 文件名 = chmod 751 文件名

 

3.修改文件所有者

  • chown 所有者 file

  • chown 所有者:所有组 file (-R 递归修改)

  • chgrp 所有组 file

 

五.crontab任务调度

  • crontab -e 编辑任务

  • crontab -l 查看任务

  • crontab -r 终止所有任务

  • service crontab restart 重启任务调度

 

六. 磁盘

df -l or -h 查看磁盘使用情况

du 【指令】 /目录 查看指定目录占有情况

-s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

-max-depth=1 子目录深度

-c 列出明细同时增加汇总值

例: du  -sh * |sort -nr             按从大到小顺序查看当前目录下文件的大小情况

 

ls -l 目录 |grep “文件类型(-文件 d目录)” wc -l 查看目录下文件个数

 

七.网络

  • ifconfig 查看网络和网关

  • ping 域名/Ip 测试网络是否通

  • telnet ip port 查看某机器某端口是否可访问

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0 指定IP并可连接到外网(修改完重启网络)

    ONBOOT=yes 启动配置

    BOOTPROTO=static 静态获取

    IPADDR=192.168.184.11 指定Ip

    GATEWAY=192.168.184.2 网关

    DNS1=192.168.184.2 dns,和网关保持一致

 

八.进程/服务管理

进程管理

ps -a 显示当前终端所有进程信息

ps -u 以用户格式显示进程信息

ps -x 显示后台进程运行参数

ps -ef 以全格式查看当前所有进程

 

kill 【选项 -9 强制杀掉】 进程号 杀掉进程

killall 进程名 批量杀进程

 

服务管理

service 服务名 【start】【stop】【restart】【reload

】【status】

注:CentOS7.0后不再使用service 而是用system

例:防火墙

查看 service iptables status  or  service firewalld status

临时关闭 service iptables stop

 

ls -l /etc/init.d 列出系统有哪些服务

chkconfig 给每个服务的各个运行级别设置启动/关闭

1)chkconfig --list|grep xxx 查看服务

2)chkconfig 服务名 -- list 查看指定服务

3)chkconfig --level 5 服务名 on/off 给某个服务设置指令级别

 

网络监控

top 【选项】 查看执行的进程

1.案例:查看指定用户

top-> 回车键-> 输入u ->输入用户

2.案例:终止指定进程

top-> 回车键-> 输入k-> 回车-> 输入结束的进程ID

3.案例:指定系统更新时间10s 默认3s

top -d 10

netstat【选项】 查看系统网络

netstat -anp | more 查看所有网络

netstat -anp | grep xxx 具体查看某一个服务网络

 

九.其他实用命令

rpm包的简单指令

rpm -qa |grep 软件包名 查看系统是否有某个软件包

rpm -q 软件包名 查看软件包是否安装

rpm -qi 软件包名 查看软件包详细信息

rpm -qf 文件 查看文件属于哪个软件包

rpm -ql 软件包名 查看软件包下的文件路径

rpm -e 软件包名 卸载软件

rpm -ivh 软件包路径 安装软件(i安装v提示h进度条)

 

yum的简单指令

yum list |grep 软件 查看

yum install 软件名 下载软件,会下载依赖包 

 

awk命令

awk  '/关键字/'  文件名                 搜索某个文件中含有关键字的行

awk 'BEGIN(IGNORECASE=1) /关键字/' 文件名       忽略大小写搜索文件中含有的关键字

awk ‘$1 ~ /关键字/ {print $1,$2}’ 文件名                  搜索文件中第一列包含关键字 并打印出第一列和第二列

awk -F, '{print $1,$2}' 文件名           搜索文件按逗号进行分割打印第一列和第二列

awk -va=1 '{print $1,$1+a}' 文件名     取出文件中第一列并把第一列 加上变量a进行打印

awk -f  xxx.awk 文件名        将文件按照awk脚本执行

 

sar命令

1.CPU利用率 

sar -p (查看全天)

sar -u 1 10 (1:每隔一秒,10:写入10次)

2.内存利用率

sar -r (查看全天)

sar -r 1 10 (1:每隔一秒,10:写入10次)

3.磁盘I/O

sar -d (查看全天)

sar -d 1 2 (1:每隔一秒,2:写入2次)

4.网络流量

sar -n DEV (查看全天)

sar -n DEV 1 2 (1:每隔一秒,2:写入2次)

 

 大文件查询(常用,核心

1.sed -n ‘5,10p’ filename     查看文件第5-10行内容(可以搭配  > 文件名    将查询结果导出到某个文件)

2.grep (可以搭配  > 文件名    将查询结果导出到某个文件)

grep -C 5 字符 filename 显示file文件中匹配字符串那行以及上下5行
grep -B 5 字符 filename 显示及前5行
grep -A 5 字符 filename 显示及后5行

3.tail(可以搭配  > 文件名    将查询结果导出到某个文件)

从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000

显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000

 

持续更新中。。。

  

posted on 2020-09-29 07:20  怂人不倦  阅读(165)  评论(0编辑  收藏  举报