博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux基础篇
阅读量:6588 次
发布时间:2019-06-24

本文共 5572 字,大约阅读时间需要 18 分钟。

纯属备忘录

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扩容与缩容

添加硬盘

方案一

将硬盘添加到与第一个硬盘同一总线下

添加硬盘,注意以下位置

linux基础篇
这里设备节点就是选择总线,SCSI(0:3) SCSI指的是总线 0是系统总线 3是硬盘ID
添加完成后上机器上查看,发现并没有新的硬盘,因为linux需要在重启后才会重新扫描总线,这里我们需要手动让系统扫描总线。
cat /proc/scsi/scsi
linux基础篇
第一个是CD-ROM的总线,和硬盘不是同一总线
第二个是系统硬盘,总线是00 ,ID是00

查看系统磁盘总线host

grep mpt /sys/class/scsi_host/host?/proc_name
linux基础篇
如图host为2
刷新总线
echo "- - -" > /sys/class/scsi_host/host2/scan
如果不知道添加的总线在哪一个host下,可以将host2依次改为上面查出的所有host,从而刷新所有的总线。
然后查看/dev/目录下的文件发现有了新的硬盘

方案二

通过添加新的总线,让系统扫描该总线,从而直接添加硬盘

注意这里选择总线的时候要选择一个全新的总线
linux基础篇
新的总线下添加硬盘是后设置完成后会显示添加总线和硬盘两个设备
linux基础篇
查看/dev目录下,发现硬盘已经添加

扩根

格式化新磁盘

fdisk /dev/sde

linux基础篇
linux基础篇
p-->n-->p-->1-->回车-->t-->8e-->2

将该硬盘添加到LVM的/下

创建LVM逻辑券

查看pv物理卷

pvscan
将新硬盘做为PV
pvcreate /dev/sde1

将新建的PV添加到VG卷组中

查看vg卷组的信息
linux基础篇

将新建的PV卷加到vg_master中

vgextend vg_master /dev/sde1

查看

vgdisplay
linux基础篇
添加到lv逻辑卷中
lvdisplay
linux基础篇
linux基础篇
扩展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 offset 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%.txtcd \PATH\TO\rsync.exersync.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
#centos7
curl -O
#6 epel
curl -O
#7 epel
curl -O
#生成缓存数据
yum clean all && yum makecache fast&& yum repolist enabled

转载于:https://blog.51cto.com/13323775/2058468

你可能感兴趣的文章
数据结构与算法 | Leetcode 19. Remove Nth Node From End of List
查看>>
一起来读you don't know javascript(一)
查看>>
[LeetCode] 862. Shortest Subarray with Sum at Least K
查看>>
【分享】终端命令工具 自动生成vue组件文件以及修改router.js
查看>>
[LeetCode] Student Attendance Record I
查看>>
PHP回顾之多进程编程
查看>>
spring boot + redis
查看>>
Ajax技术细节
查看>>
nuxt.js部署vue应用到服务端过程
查看>>
ubuntu 配置python,Redis,Mysql
查看>>
删除数组中的指定元素 | JavaScript
查看>>
CSS3+JS实现静态圆形进度条【清晰、易懂】
查看>>
关于树形插件展示中数据结构转换的算法
查看>>
图片加载框架之Fresco
查看>>
Spotify开源其Cassandra编排工具cstar
查看>>
高性能web建站规则(将js放在页面底部)
查看>>
Java EnumMap工作原理及实现
查看>>
阐述Spring框架中Bean的生命周期?
查看>>
虚拟内存管理
查看>>
注水、占坑、瞎掰:起底机器学习学术圈的那些“伪科学”
查看>>