Linux常用指令大全

Linux常用指令大全

目前主要的Linux操作系统包括:centos 、 redhat 、 ubuntu ;其中centos多用于教学和学习,redhat比较专业多用于企业,ubuntu图形界面较好。

Shell种类
sh,ksh,csh,bash(linux 默认shell) #echo $SHELL 查看服务器shell类型。

linux命令(按TAB键补齐命令)

一、认识自己
1、 id 显示用户的ID,以及所属群组的ID。
2、 pwd 显示当前文件夹

常见命令:
mv 文件夹时,目标文件夹存在,源文件夹变成目标文件夹的子目录
rm,rmdir
rm -rf(慎用)
rm -l
car 查看内容
file 看文件属性
alias 别名 alias l=“ls -l”
cp 复制文件
cd 切换路径
rm -f 强制删除文件
mkdir -p 创建文件夹
touch 创建文件

二、认识命令
1、 man 手册 对命令的作用和使用全面介绍
2、 help 对指令的简短介绍 #ls --help

修改权限
chmod 改文件和文件夹访问权限rwx 421 a u g o +rwx
chgrp [选项] group filename --更改某个文件或目录属组
chown [选项] 用户或组 文件 --更改某个文件或目录属组,属主
clear 清屏

三、了解系统概况
系统版本:cat/etc/redhat-release; uname -a
cpu信息: cat/proc/cpuinfo; lscpu
内存信息:cat/proc/meminfo; free
网卡信息:ifconfig; ip addr; ethtool eth0
磁盘空间:df -h; df -k
主机名: hostname
cpu性能: superpi
磁盘性能:fio
网络性能:iperf

四、ulimit命令
用来限制进程对资源的使用情况
ulimit -a 列出当前用户的限制情况
-n size :设置内核可以同时打开的文件描述符的最大值,单位n
-f size :设置创建文件的最大值,单位:blocks
-m size :设置可以使用的常驻内存的最大值,单位kbyte
-u size :设置用户的最大进程数,单位n

vi /etc/security/limits.conf (ulimit介绍的文件)

五、软件安装和卸载
1、 rpm 单个软件安装(几个软件之间有依赖关系时比较麻烦)
rpm -ivh 安装软件
rpm -e 卸载软件
rpm -qa 查询安装的软件

2、 yum 多个软件一起安装,在仓库中找安装软件,可实现断网安装
yum install
yum remove
yum search
yum repolist
/etc/yum.repos.d/ yum到这个仓库环境找安装软件

六、切换用户
su root 不改变环境变量
su -root 切换用户,改变环境变量
su -usename
su -usename -c command 不用输入密码

sudo 一般不建议使用,比较危险
vi sudo -root

七、看进程 ps
一般使用ps -ef
显示CPU瞬间使用率,内存消耗 ps aux (top)
ps -e -o “user,pid,pcpu,user,se”
cpu占用最多的10个进程:ps auxw|sort -rn -k3|head -10
内存消耗最多的前10个进程: ps auxw|head -1; ps auxw|sort -rn -k4|head -10
ps -eo pid,lstart,etime,cmd|more
树形显示: ps -axjf
cat /proc/2277/status|more

八、管道符 |
#ps -ef|grep redis --在前面的命令基础上查询相关字符串

查找:grep
-i 忽略大小写

kill 信号 进程
kill [pid]默认信号量15 即kill -15 [pid]
kill -9 [pid] --比较危险,不建议用
另外一个非常有用的信号CTL+Z 暂停进程
bg 把刚才暂停的进程放到后台
(一个进程停不下来,ctrl+z同时按下,进程停止,再输入bg指令,进程又继续执行)

data 时间
-d
-R 加时区
-s 改时间

九、网络
netstat -pan 看网络的状态
ping host/ip 网络通吗
telnet ip port 端口通吗
ssh user@host 本地连接远程

十、系统负载
top 看系统负载
iostat 看磁盘
vmstat
nmon
atop
dstat
sar 看历史负载

十一、确认文件类型
#lsof |more 列出打开的文件
ls -l
ls -la
file file_name
stat file_name

十二、文件类型——链接
ln 创建链接: ln [-s] source_file target_file
硬链接(同一个文件系统下)
软链接(-s,无限制)
ln 可以解决,文件被改名了,程序读不到
一个目录满了,挪到其他地方存储,在原有的地方建一个符号链接。
ln快速COPY文件
ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其他的文件都会发生相同的变化
源文件移动不会影响到硬链接,但会影响软链接。

ln命令测试实验
echo test >link_test
cat link_test
ln -s link_test link_s
ls -lrt link*
ln link_test link_h
ls -lrt link*
(三个链接文件同时改动)

十三、复制移动
cp
cp -R 递归
cp -p 附带属性CP过去
cp -i 防止覆盖已经存在的文件
cp -f 强制覆盖

scp
scp [参数] [源路径] [目标路径]
push:源为本地,目标为远程
pull:源为远端,目标为本地

mv
rename&name
mv -i
-b :当文件存在时,覆盖前备份

十四、解压缩
tar --打包,解包(不压缩)
tar cvf FileName.tar DirName --打包
tar xvf FileName.tar --解包
tar tvf FileName.tar --查看内容
tar cvf FileName.tar --已打包的里面在新增打包文件
不允许用绝对路径做source备份,会出现严重问题。(会把原来路径覆盖了)
晋级:gnu的tar支持更多的选项,长文件名。
高级命令:(利用管道|)
tar -cf -* | gzip -c >…/xxx.tar.gz (tar -czf) 打包压缩
tar -cf -* | (cd xxx; tar -xf -) 打包传输到目标文件
gzip -d -c test.tar.gz | tar -xvf - (tar -xzf) 解压解包

十五、find 查找文件

  • name “test*”
  • type f (f普通文件)
  • type d (d目录文件)
  • name “test*” -mtime(-mmin) 找日志
  • name “test*” -exec rm {}; 查找删除
  • maxdepth l -name ‘text*’ -mtime +1 -exec ls -lrt {};

查看文件
head/tail --看文件头(末尾)几行
head -100
tail -100f

more
查看进度
空格后翻页,b键前翻页

less
可以使用上下键翻页

cat
一次性显示整个文件内容
cat -n/-b 显示行号输出
cat -E 使用&标记行尾

diff 文件内容比较
diff xi.txt x2.txt
diff -y xi.txt x2.txt 纵向输出
diff -w xi.txt x2.txt 忽略空格
diff -c xi.txt x2.txt 上下文格式
diff -u xi.txt x2.txt 合并格式输出

十六、排序去重 sort/uniq
排序命令:sort
-t 分隔符(默认空白字符)
-k 排序字段
-n 按照数字排序
举例:
sort -t;-k2n 文件

排重命令:uniq
-c 打印重复次数
-d 只显示重复的记录
-u 只显示不重复的记录

sed --stream editor
sed '行号1,行号2[命令]‘
sed -n ‘/output_temp/p’ file
与grep命令功能相同,但对regexp支持的更加广泛
sed ‘1,6d’ file 删除前面6行
sed ‘s/abc/xyz/g’ file 替换abc为xyz
sed ‘s/[\t]{1,}/;/’ file 替换一个或多个空格或制表符为;
echo “2019-6-6” |sed ‘&/-(0-9)-{1}/-0\1-/;s/-([0-9]KaTeX parse error: Can't use function '\)' in math mode at position 1: \̲)̲\{1\}/-0\1/' 正…/d;/^#/d’ /etc/profile 去掉注释和空格 ^代表行首,$代表行尾
正则表达式:见截图

十七、文本文件操作 awk 格式化输出 (重点学习)
语法:awk ‘BEGIN {…}{…}{…}END{…}’
典型用法:pattern{action}
‘{print $1,$2}’ 输出列
’/开始/,/结束/’ 打印一个段落
‘$1 ~ /pattern/’
‘$1 == “test” {print $1,$2}’ file
统计第一列的总和:
’{t=t+$1}END{print t}’ file 精度不够,请使用printf “%d\n” ,t:
awk '{print>$1}'awk.txt
文件查重 awk ‘!uk[$1]++’ file

输出转换为命令参数–xargs
find.-name “test*” | xargs ls -lrt 查找
ps -ef | grep ora | grep LOCAL=NO | awk ‘{if($3==“1”)print"kill -9 "$2}’|sh 杀特定的进程
ls - l | xargs -i mv {} /home/test1/
ls -l | xargs -l -t -i ln {} …/{}

十九、vi的工作模式
命令模式
插入模式
底行模式

光标移动命令
$: 光标移至句尾
^: 光标移至句首
nG: 光标移至第n行首
G: 光标下移文件最后一行

屏幕滚动类命令
Ctrl+u:向前翻半页
Ctrl+d:向后翻半页
Ctrl+f:向后翻一页
Ctrl+b:向前翻一页

插入文本类命令
i:在光标前
I:在当前行首
a:光标后
A: 在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R: 替换当前字符及其后的字符,直至按ESC

[n]dd cut当前后面n行到剪切板(类似ctl+x)
[n]yy 复制当前后面n行到剪切板(类似ctl+c)
p 复制剪切板内容到当前行下面

删除命令
在命令模式下,输入:.,$d 一回车就全没了,输入u回车又恢复
:1,.d 删除说明:这是在vi中 ,“.”当前行 ,“1,.”表示从第一行到当前行 ,“d”删除

dd 删除鼠标所在行
[n]dd 删除第n行
d$ or D 删至行尾
[n]x 删除一个字符,x删除光标后的
crl+u 删除输入方式下所输入的文本
J 合并当前和下面一行(删除行尾的回车)
. 重复刚才的编辑操作(删除,插入等)

搜索及替换命令:
/pa: 从光标开始处向文件尾搜索pa
?pa: 从光标开始处向文件首搜索pa
n: 在同一方向重复上一次搜索命令
N: 在反方向上重复上一次搜索命令
:s/p1/p2/g 将当前行中左右的p1替换成p2
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均替换成p2

选项设置
:set all 列出所有选项设置情况
:set ic 在搜中忽略大小写
:set noic 不忽略大小写
:set ai 自动缩进(noai表示不缩进)
:set sm 显示匹配括号(nosm)
: set nu 显示行号(nonu)
命令模式:set nu 显示行号
set nonu 隐藏行号

行方式命令
:n1,n2, co n3 将n1行到n2行之间拷贝到n3行下
:n1,n2, co n3 将n1行到n2行之间移动到n3行下
:n1,n2, d 将n1行到n2行之间内容删除
:w 保存当前文件
:x 保存当前文件并退出
:q 退出vi
: wq 保存当前文件并退出
: q! 不保存退出
:!command 执行shell命令command
:r filename 读入文件到当前行下
:r!command 将命令command的输出结果放到当前行
:u 撤回

二十、crontab (定时任务) 服务操作
由于cron是Linux的内置服务,可以用以下方式启动和关闭服务
/sbin/service crond star //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

Linux的cron服务每隔一分钟去读取一次/var/spool/cron,/etc/crontab,/etc/cron.d
所以默认情况不需要重新载入配置
crontab 格式
crontab -e 进入编辑命令
分 时 日 月 星期 命令
:* * * * *

多个时间点用逗号分隔 5,10 * * * *

常见问题
1、星期会覆盖前面的日月定义
2、用crontab -l > file 备份你的cron
3、%要转义
4、HA的时候经常忘记了切cron,cron数据存放在/var/spool/cron下
5、crontab 中的命令是用/usr/bin/sh执行的,注意环境变量加载,注意脚本中的目录
6、crontab中的命令输出会写到邮件中,建议重定向到日志中,否则你的/var可能会撑爆
7、crontab命令需要考虑不能重复启动

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值