Liunx一些简单的小命令

Linux一些小命令的总结和学习

关于磁盘挂载:

避免发生分区识别混乱 使用UUID挂载文件系统 查看UUID命令 blkid 例: /etc/fstab    UUID=94e4e384-0ace-437f-bc96-057dd64f42ee /data ext4 defaults 0 0

查看系统发行版本

cat /etc/issue
或者cat /etc/redhat-release
或者cat /etc/centos-release

提高make编译速度

make -j 4
make 使用更多的cpu 内核

ip地址

查看:ifconfig /  ip  a
服务器可以ping通IP,ping不通域名
检查DNS是否有配置
样例:
cat /etc/resolv.conf 

查看cpu信息

top
cat /proc/cpuinfo

top
shift +m 按内存排序  
c 按内存排序  

查看内存信息

cat /proc/meminfo
df -h:磁盘大小
free -h :内存

熟悉linux目录

/bin  存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里
/etc  配置文件
/home 用户家目录
/root 超级用户(系统管理员)的主目录
/sbin 存放二进制可执行文件,超级权限用户才能访问
/dev  设备文件
/mnt  临时文件系统的安装点
/tmp  存放各种临时文件
/boot 存放用于系统引导时使用的各种文件
/lib  存放跟文件系统中的程序运行所需要的共享库及内核模块
/var  用于存放运行时需要改变数据的文件
今日小技巧:
cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。

cp命令

cp 命令的基本格式如下:
	cp [选项] 源文件 目标文件
选项:
-a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;
-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
-i:询问,如果目标文件已经存在,则会询问是否覆盖;
-l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
-s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
-r:递归复制,用于复制目录;
-u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。

tr命令

tr命令进行大小写转换
echo "HELLO WORLD" | tr 'A-Z' 'a-z'
hello world

sudo命令

sudo 需要注意事项
sudo -s 使用当前用户环境变量
sudo -i 使用root环境变量
 ps aux |grep -v USER | sort -nk +4 | tail       # 显示消耗内存最多的10个运行中的进程,以内存使用量排序.cpu +3    
            # USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
            %CPU     # 进程的cpu占用率
            %MEM     # 进程的内存占用率
            VSZ      # 进程虚拟大小,单位K(即总占用内存大小,包括真实内存和虚拟内存)
            RSS      # 进程使用的驻留集大小即实际物理内存大小
            START    # 进程启动时间和日期
            占用的虚拟内存大小 = VSZ - RSS
            
            ps -eo pid,lstart,etime,args         # 查看进程启动时间

shell变量

shell变量截取和拼接
1. 使用# 号截取,删除左边字符,保留右边字符。 
 echo ${var#*//}
  其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
 2. 使用 ## 号截取,删除左边字符,保留右边字符。
 echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
3. 字符串拼接
var1="aaa"
var2="bbb"
var3=${var1}${var2}
echo $var3
aaabbb

sort 排序

sort一些使用技巧
        sort -n               # 按数字排序
        sort -nr              # 按数字倒叙
        sort -u               # 过滤重复行
        sort -m a.txt c.txt   # 将两个文件内容整合到一起
        sort -n -t' ' -k 2 -k 3 a.txt     # 第二域相同,将从第三域进行升降处理
        sort -n -t':' -k 3r a.txt         # 以:为分割域的第三域进行倒叙排列
        sort -k 1.3 a.txt                 # 从第三个字母起进行排序
        sort -t" " -k 2n -u  a.txt        # 以第二域进行排序,如果遇到重复的,就删除

locate(locate) 命令用来查找文件或目录,速度比find快

locate(locate) 命令用来查找文件或目录,速度比find快
安装:yum install mlocate
查找my.cnf文件位置
locate my.cnf
/usr/bin/updatedb   主要用来更新数据库,通过crontab自动完成的
/usr/bin/locate         查询文件位置
/etc/updatedb.conf   updatedb的配置文件
/var/lib/mlocate/mlocate.db  存放文件信息的文件

du和df的小技巧

1. du 和df的结果为什么不一样?
du,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df, 记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除
的文件,而且统计在内。

2. du 显示单位技巧
-h 表示使用K,M,G的人性化形式显示

3. df详细案例
a:显示全部的档案系统和各分割区的磁盘使用情形
i:显示i -nodes的使用量
k:大小用k来表示 (默认值)
t:显示某一个档案系统的所有分割区磁盘使用量
x:显示不是某一个档案系统的所有分割区磁盘使用量
T:显示每个分割区所属的档案系统名称

gzip 压缩级别

	gzip test # 默认压缩级别3
	数字19 越大压缩级别越高,文件越小,同时越消耗CPU,时间越长。
	
	gzip -9 test # 极限压缩

rpm必会技能

[root@localhost ~]# rpm -ivh your-package # 直接安装
[root@localhost ~]# rpm --force -ivh your-package.rpm # 忽略报错,强制安装

[root@localhost ~]# rpm -ql tree # 查询tree 的所有文件
[root@localhost ~]# rpm -qa|grep tree # 查询tree 安装包信息
[root@localhost ~]# rpm -e tree # 卸载
[root@localhost ~]# rpm -qf /usr/bin/tree# 反向查询,根据文件查询所属安装包

crontab 使用须知

1. 每五分钟执行一次
*/5 * * * * shell.sh

2. 每一分钟执行一次
* * * * * shell.sh

3. 每个周日 0 点执行
0 0 * * 0 shell.sh

4. 凌晨24点,每小时执行一次
0 2-4 * * * shell.sh

5. 凌晨24点,1820点,每小时执行一次
0 2-4,18,20 * * * shell.sh

6. 每周末的凌晨一点钟执行一次
0 1 * * Sun /usr/sbin/raid-check

for 循环字符串

样例一:
#!/bin/bash

for i in `ls /root`;
do
echo $i is file name\! ;
done

样例二:
#!/bin/bash

for file in /proc/*;
do
echo $file is file path \! ;
done

for 循环数组
#!/bin/bash
a=("aaa" "bbb" "ccc")
for str in ${a[@]};do
echo $str
done

for 循环1-100

样例一:
#!/bin/bash
for((i=1;i<=100;i++));
do
echo $i
done

样例二:
#!/bin/bash
for i in $(seq 1 100)
do
echo $i
done

样例三:
#!/bin/bash
awk 'BEGIN{for(i=1; i<=100; i++) print i}'

样例四:
#!/bin/bash
for i in {1..100}
do
echo $i
done

查看tcp连接值

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值