纯属备忘录
find
(本人)常用的选项
-name按名字查找
find /path -name filename
-type按文件类型查找
文件类型有:
d命令
f普通文件
b块设备
c字符设备文件
l链接
p管道文件
s套接口文件
find /path -type f
-size按文件大小查找
+、-表示大于和小于,不带符号表示等于
单位有c,k,M,G等
find /path -size 10c #查找小于10直接的文件或目录
find /path -size -10k
find /path -size +1M
-exec对返回结果执行命令
find /path -type f -exec rm -rf {} \; #删除/path下所有的普通文件
-mtime 查找指定时间修改的文件(单位是1天)
+1、-1、1分别代表一天以上,一天以下、一天
-atime n:查找在指定时间曾被存取过的文件或目录,单位1天;
-ctime n:查找在指定时间状态被改过的文件或目录,单位1天;
-mtime n:查找在指定时间曾被更改过的文件或目录,单位1天;
find /path -mtime -1
-depth
从最深的目录开始查找
find /path/to/file -depth #先找file,再找to,再找path
-maxdepth
设置超找的最大深度
find /path/to/file -maxdepth 2 #只会查找path 和to目录下的文件,不会超找file目录下的文件
-mindepth
find /path/to/file -mindepth 2#只会查找file 和to目录下的文件,不会超找path目录下的文件
-regex查找匹配正则表达式的文件
find /path/to/file -regex ‘.hello’ #匹配以hello结尾的文件(注意会对路径进行匹配,所以前面必须有.)
-perm根据权限查找文件
find /path -perm 755
一些用的比较少的选项
-expty 查找空文件或目录
-gid 按gis查找
-group 按group查找
-uid 按uid查找
-user 按user查找
-amin 和-atime,类似,查找单位是分钟
-cmin 和-ctime,类似,查找单位是分钟
-mmin 和-mtime,类似,查找单位是分钟
-nogroup 查找group不合法的文件或目录
-nouser 查找user不合法的文件或目录
用户管理
useradd 添加用户
-d指定家目录
-s指定shell
-g指定group
-G指定附属组
groupadd 添加组
usermod修改用户属性
-d修改家目录
-g修改group
-G修改附属组
-s修改shell
userdel 删除用户
-r同时删除家目录
权限管理
chmod修改权限
+r全部添加读权限
a+w全部添加写权限
u-w用户减少写权限
755 将权限设置为755
-R递归
chown修改文件所属
root.root 属主、属组改为root
:test属组改为test
t权限
只有文件属组和root可以删除
chmod rwt filename
i权限
禁止修改和删除,主要防止误修改和误删除(***病毒经常用)
chattr +i filename #添加i权限
lscttr filename #查看i权限
chattr -i filename #删除i权限
s权限
所有人都能用属主的权限执行,只能给u添加
chmod u+s filename
VIM编辑器
只记几个用的少的
set fileencoding=chinese 设置字符编码为chinese(临时的,下次还是utf-8,除非该配置文件)
set fileencodings=utf-8,gbk 按照utf-8、gbk编码解释文档内容,哪个能成功就用哪个
:!command执行外部命令
%(跳转到与之匹配的括号处)
.(重复上次的修改命令)
`.(跳转到最近修改过的位置)
ZQ(无条件退出)
ZZ(存盘退出)
ga(显示光标下的字符在当前使用的 encoding 下的内码)
guw(光标下的单词变为小写)
gUw(光标下的单词变为大写)
:TOhtml(根据 Vim 的语法加亮的方式生成 HTML 代码;在图形界面中也可以使用菜单“Syntax—Convert to HTML”达到同样效果)
linux添加虚拟内存(swap)
1、打开终端,切换到root用户,输入:free -m查看内存状态
[root@lxt lxt]# free -m
total used free shared buffers cached
Mem: 498 357 141 0 27 162
-/+ buffers/cache: 167 331
Swap: 1023 0 1023
2、输入df -B M(或df -m)查看各分区当前使用情况
[root@lxt lxt]# df -B M
文件系统 1M-块 已用 可用 已用% 挂载点
/dev/mapper/vg_lxt-lv_root
12875M 4059M 8162M 34% /
/dev/sda7 194M 14M 170M 8% /boot
tmpfs 250M 1M 249M 1% /dev/shm
(fdisk -l可查看磁盘分区情况)
3、选择一个较大的分区,建立分区文件:
[root@lxt lxt]# dd if=/dev/zero of=/swapadd bs=1024 count=524288
524288+0 records in
524288+0 records out
536870912 bytes (537 MB) copied,13.0709 秒,41.1 MB/秒
以上命令在根目录新建一个名为swapadd,大小为512M的虚拟内存文件
4、移动该文件到空间较大的其他分区:
[root@lxt lxt]# mkdir /mnt/swap
[root@lxt /]# mv swapadd /mnt/swap
5、执行以下命令启用虚拟内存并重启电脑(不用重启生效)
[root@lxt /]# mkswap /mnt/swap/swapadd
Setting up swapspace version 1, size = 524284 KiB
no label, UUID=a5c8b651-6f64-4414-bb5f-580b742acfce
[root@lxt /]# swapon /mnt/swap/swapadd
查看内存:
[root@lxt /]# free -m
total used free shared buffers cached
Mem: 498 492 6 0 15 302
-/+ buffers/cache: 174 323
Swap: 1535 0 1535
6、如果不需要使用新增的虚拟内存,则输入:
swapoff -v /mnt/swap/swapadd
linux扩容与缩容
添加硬盘
方案一
将硬盘添加到与第一个硬盘同一总线下
添加硬盘,注意以下位置
这里设备节点就是选择总线,SCSI(0:3) SCSI指的是总线 0是系统总线 3是硬盘ID
添加完成后上机器上查看,发现并没有新的硬盘,因为linux需要在重启后才会重新扫描总线,这里我们需要手动让系统扫描总线。
cat /proc/scsi/scsi
第一个是CD-ROM的总线,和硬盘不是同一总线
第二个是系统硬盘,总线是00 ,ID是00
查看系统磁盘总线host
grep mpt /sys/class/scsi_host/host?/proc_name
如图host为2
刷新总线
echo "- - -" > /sys/class/scsi_host/host2/scan
如果不知道添加的总线在哪一个host下,可以将host2依次改为上面查出的所有host,从而刷新所有的总线。
然后查看/dev/目录下的文件发现有了新的硬盘
方案二
通过添加新的总线,让系统扫描该总线,从而直接添加硬盘
注意这里选择总线的时候要选择一个全新的总线
新的总线下添加硬盘是后设置完成后会显示添加总线和硬盘两个设备
查看/dev目录下,发现硬盘已经添加
扩根
格式化新磁盘
fdisk /dev/sde
p-->n-->p-->1-->回车-->t-->8e-->2
将该硬盘添加到LVM的/下
创建LVM逻辑券
查看pv物理卷
pvscan
将新硬盘做为PV
pvcreate /dev/sde1
将新建的PV添加到VG卷组中
查看vg卷组的信息
将新建的PV卷加到vg_master中
vgextend vg_master /dev/sde1
查看
vgdisplay
添加到lv逻辑卷中
lvdisplay
扩展lv空间
lvextend -L +1.99G /dev/mapper/vg_master-lv_root
需要留一点空余给inode
查看现在的lv大小
lvdisplay
重新设置/目录打下
resize2fs /dev/vg_master/lv_root
查看大小
df -h
resize2fs报错:resize2fs: Bad magic number in super-block
解决:
命令:xfs_growfs /dev/mapper/vg_master-lv_root
创建新lv逻辑卷
vgcreate vg_jenkins /dev/vdb1
lvcreate --name lv_opt --size 399G vg_jenkins
格式化
mkfs.ext4 /dev/vg_opt/lv_opt
挂载
mount -t ext4 /dev/vg_opt/lv_opt /opt
进程管理
查看所有进程
ps aux
或
ps -ef
交互模式查看进程
top
常用交互命令
P按使用cpu排序
M按驻留内存大小排序
1显示cpu列表(数字1)
m显示内存信息
c显示命令完整命令行
k杀死一个进程
查看监听端口
netstat -atunlp
ss -tunlp
查看进程打开的文件
lsof
-a 找到打开指定文件的进程
-c通过进程名找到打开的所有文件
-p通过PID找到打开的所有文件
-i列出符合条件的进程(4、6、tcp、udp、:端口、@IP)(条件可以为空)
kill杀死指定pid的进程
killall杀死所有指定名称的服务
系统状态监控
查看cpu
lscpu
cat /proc/cpuinfo
top
查看内存
free -m
top
查看硬盘
lsblk
df -h
监控io
iotop
查看内核
lsmod
查看硬件信息
dmidecode
显示环境变量
env
uname显示系统信息
显示所有信息
uname -a
显示内核名称
uname -s
显示内核版本
uname -r
查看网络连接
iftop
ssh指定非22端口
ssh -p port [username]@ipaddress
ssh-copy-id指定非22端口
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p port username@IP"
rsync同步
linux同步linux
rsync -avz '-e ssh -p PORT' HOSTNAME:/PATH/TO/FILE/ /PATH/TO/LOCAL/FILE
linux同步windows
rsync --port=PORT -vzrtopg --progress USERNAME@HOSTNAME::MODULE /PATH/TO/LOCAL/FILE
windows同步windows(脚本)
@echo off
set time_hh=%time:~0,2%
if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%)
set filename=%date:~,4%%date:~5,2%%date:~8,2%_%time_hh%%time:~3,2%%time:~6,2%
echo.>C:\logs\FILENAME%filename%.txt
cd \PATH\TO\rsync.exe
rsync.exe -vzrtopg --progress --delete HOSTNAME::MODULE /cygdrive/c/LOCAL/PATH/ --password-file \PATH\TO\PASSWORD\FILE 1>C:\logs\FILENAME%filename%.txt 2>&1
/cygdrive/c/LOCAL/PATH/中的C是盘符
安装阿里yum源
#base yum
cd /etc/yum.repos.d/
mkdir bak
mv * bak
#centos6
curl -O http://mirrors.aliyun.com/repo/Centos-6.repo
#centos7
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
#6 epel
curl -O http://mirrors.aliyun.com/repo/epel-6.repo
#7 epel
curl -O http://mirrors.aliyun.com/repo/epel-7.repo
#生成缓存数据
yum clean all && yum makecache fast&& yum repolist enabled
转载于:https://blog.51cto.com/13323775/2058468