1、【nfs磁盘挂载操作】
首先安装yum install nfs-utils
配置nfs:修改/etc/exports 文件 /dsx01/(可用于挂载的目录) (表示任意IP地址)(insecure,rw,sync,no_root_squash)权限配置
重启nfs服务:service nfs restart
挂载nfs方式:mont -t nfs xxx.xxx.xxx.xxx:/xx/xx /xxx/xxx/
【磁盘上新增挂载卷划分分区】
fdisk -l 查看新增的裸磁盘
创建完分区之后,执行partprobe刷新分区
分区格式化命令:(不过不执行分区格式化命令,会提示/dev/vda*写保护,将以只读方式挂载,未知的文件系统(null) )
mkfs.btrfs /dev/sdc* 这种文件系统专门用来玩docker
mkfs.ext3 /dev/sdc*
将磁盘挂载到相应的目录下
df -h 查看磁盘的使用情况
df -T 查看磁盘的使用情况及类型
【磁盘格式化】
yast可以用来安装ftp服务,用ftp目录制作依赖源地址
裸磁盘可以直接格式化:mkfs.btrfs /dev/sdc
查看磁盘的UUID:ls -al /dev/disk/by-uuid/查看磁盘的UUID,把UUID加到/etc/fstab中,启动时不需再执行挂载操作
2、【user/group】
用户创建、密码修改
useradd testuser 创建用户testuser
passwd testuser 给已创建的用户testuser设置密码
usermod –help 修改用户这个命令的相关参数
userdel testuser 删除用户testuser
rm -rf testuser 删除用户testuser所在目录
groupadd testgroup 组的添加
groupdel testgroup 组的删除
usermod -g 0 wukong 修改用户组ID 一个用户可以拥有多个组
usermod -G root wukong 修改用户组
groups 查看当前所属组
用该用户信息关键在于usermod命令
在/etc/passwd中有些用户最后面显示的是/sbin/nologin表示不允许登录
/etc/passwd各个字段意思
root:x:0:0:root:/root:/bin/bash
用户名:密码:用户ID:组ID:备注:开始目录:使用的shell
/etc/group
root:x:0:lbp xxx
组名:组密码(一般无):组ID:组用户
查看用户所在的组:groups
id用户:id root
chmod o-rwx表示其他用户没有rwx权限
3、【输入输出】
linux重定向及nohup不输出的方法
0、1和2分别表示标准输入、标准输出和标准错误信息输出
由于使用nohup时,会自动将输出写入nohup.out文件中,如果文件很大的话,nohup.out就会不停的增大,这是我们不希望看到的,因此,可以利用/dev/null来解决这个问题。
nohup ./program >/dev/null 2>log &
如果错误信息也不想要的话:
nohup ./program >/dev/null 2>&1 &
4、【sh常用脚本】
批量解压文件
cd /home/res; for i in ls /home/test/*.zip
; do unzip $i; done;
批量停容器
docker ps|grep -v CONT|cut -c 1-4|xargs docker stop
grep -v 显示不包含匹配文本的所有行
批量杀进程
ps -ef|grep upjas|grep -v grep|cut -c 9-15|xargs kill -9
按指定时间删除文件或文件夹,下面是删除三天前文件的命令
find /文件路径 -name “*.log” -mtime +2 -exec rm {} \;
find中对于时间的推算均为:多少天前用+号,多少天内用-号,一个时间单位内的不带符号,数字代表往前偏移量
5、【centos更新安装源】
createrepo -v xxx
1.修改/etc/yum.repos.d/xxx.repo
2.yum clean all
3.yum update
4.yum makecache |||相当于zypper refresh
5.yum install software
6.源的格式和suse差不多。
[Centos]
name=Centos
baseurl=ftp://和suse一样,关键是ftp服务的搭建
enabled=1
gpgcheck=0(是否需要验证,0就是不验证)
6、【本地ISO文件做成镜像】
mkdir /opt/SLES12
mount -o loop SLES12…..DVD1.iso /opt/SLES12
把ISO做成循环,但是还是没做成本地源
7、【suse创建源】
在ftp目录下新建文件夹openstack
把软件和依赖包上传到openstack中
然后在上级目录执行命令:createrepo openstack
再到openstack目录中可以发现多了个目录repodata,即这些软件的源数据
如果其他操作系统要使用这个源,只需配置这个ftp地址,并更新repo即可。
8、【alias】
alias设置永久生效,修改/root/.bashrc
9、【系统信息】
uname -a 显示电脑及操作系统相关信息
cat /proc/version 显示正在运行的内核版本
cat /etc/issue 显示的是发行版本信息
lsb_release -a查看发行版本信息 (centos不可用)
rpm -q centos-release 用来查看centos的版本
top 查看CPU信息,再按1,可查看各个CPUS使用情况
cat /proc/uptime 输出两个时间 一个是系统开机到现在的时间、另一个是系统空闲时间(单位秒)
查看占用内存最多的进程(除了使用top)
ps -aux|sort k4nr|head -K
ps -aux a表示所有进程 u执行改进程的用户id x表示所有进程不以终端机来区分
sort -k4nr k代表从第几个位置开始,后面的数字4即是其开始位置,n代表根据其数值排序,r代表reverse,表示反向比较输出,本来是从大到小,改成从小到大
head -K K代表行数,即输出前几行的结果
【用户信息】
whoami:显示当前用户信息
users:当前哪些用户在使用linux(shell连接的都算)
10、【进程】
linux下批量删除多个进程:ps -ef|grep upjas|grep -v grep|cut -c 9-15|xargs kill -9
cut -c 9-15 :截取输入航的第9个字符到第15个字符,正好是进程号PID
xargs kill -9 xargs命令用来把前面命令的输出结果(PID)作为kill -9命令的参数,并执行该命令
11、【rpm】
centos中如果没有用户管理功能,需要安装shadow-utils。关于在linux中如果有些命令找不到又不知道安装什么软件时
可以先考虑在已有的机器上man一下该命令,man最后一行就是这个命令的软件名
rpm -ivh *.rpm 显示安装的详细信息
rpm -Uvh *.rpm –force 强行更新安装包,也是强行降级安装包。一般情况下–force 相当于–oldpackage –force
12、【umask】
umask表示反码的意思
umask=022系统自动用777-022=755,表示用户创建的文件默认权限为755
13、【echo】
echo -e
允许后面的输出进行转义,假设你是 echo -e "i will use \n $HOME" 输出的将是:
i will use
/root(当前用户的主目录)
如果是 echo "i will use \n $HOME" 则输出是:
i will use \n $HOME
echo "hello word" > temp.out,直接清空原来的内容,填入新内容hello word
echo “hello” >> temp.out继续追加内容进去
echo `pwd`和echo 'echo'结果是不一样的
14、【使用ftp命令传文件 】
$ sftp root@172.16.15.4 然后输入密码。
从172.16.15.4获取文件并放到/tmp/目录下: get xxxx /tmp/
15、【安全认证】
公私钥认证,生成的公钥可以用ssh-copy-id命令传送到authorized_keys文件
命令形式为 ssh-copy-id root@172.16.15.xx即可
有一次公私钥配对完全正确的情况下,无法免密登录,查看/var/log/secure日志发现是.ssh文件夹权限太大(777),系统拒绝其连接
将权限恢复为600就ok
16、【SELinux】
SELinux强访问控制安全系统,属于linux安全子系统
执行关于SELinux相关命令时,如果提示SELinux is disabled,说明SELinux被关闭了,修改/etc/selinux/config即可
centos7敲service iptables stop 显示unit iptables.service not loaded
原因:centos7默认使用firewalld,这个是基于iptables,虽然有iptables的核心,但是iptables的服务是没有安装的,所以只要停止firewalld的服务即可
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
如果要使用iptables的服务,需要进行安装:sudo yum install iptables.services
17、【base64加解密】
echo -n xxxxxx | base64 -d 解密
echo -n string | base64 加密
-n的意思是不输出换行
18、【centos清缓存】
清空缓存前,先要执行sync命令,将存于buffer中的资料强制写入硬盘中
0 默认是0 1-清空页缓存 2-清空inode和目录树缓存 3-清空所有缓存(彼此间有何区别?)
echo 3 > /proc/sys/vm/drop_caches
19、【sed】
批量替换某个字符串。修改wukong05.xml文件中所有sukong04为wukong05
sed -i ‘s/wukong04/wukong05/g’ wukong05.xml(-i表示就地修改文)
20、【dos文件转换成unix文件格式】
第一种方法:直接dos2unix xxx >&null 直接批量就改了(centos需要安装dos2unix软件) (>表示重定向,&表示等同于)
第二种方法:vi xx文件(同样适用于suse),然后输入 :%s/^M/g 其中^M必须同时按CTRL+V+M表示回车。
21【VI操作】
Vi删除文本中已#开头的句子(^表示开头,
表示结尾,行地址符.代表当前行,
代表文件的最后一行,%代表文件每一行)
:g/^#.*$/d
删除空白行
:g/^$/d
删除以多个空格#开头的句子
g/^\s*#.*$/d
22、【日志跟踪】
日志数据大多数放在/var/log下面,或者自行设置日志输出的地方,如果一个地方有多个日志想要同时追踪怎么办?
用tail -f /var/log/*.log 追踪这个文件夹下所有日志,任意一个有更新都会显示出来。
*这个命令真强大!
23、【服务】
查看linux系统安装有哪些服务: service –status-all,chkconfig –list
24、【杀进程】
一般杀进程 kill -9 PID
杀掉父进程的同时杀掉子进程pkill -P PID
pkill 能直接杀死运行中的程序 pkill java———和java相关的所有进程都会杀掉
26、【time】
atime:访问时间,文件最后被读取时间
ctime:变更时间,文件本身最后被修改时间
mtime:修改时间,文件内容最后被修改时间
27、【grep】
grep -ril ‘PASS_MIN_LEN’/etc/* 查找文本字符串
-r 递归地搜索目录
-i 忽略字母的大小写
-l 仅列出包含匹配行的文件的名称,文件名直接以换行隔开
grep支持正则表达式,输出长度为36的文件名: ls | grep -E '[0-9a-z-]{36}',删除这些文件for i in `ls | grep -E '[0-9a-z-]{36}'`;do rm $i;done;
还可以这样:rm -rf $(ls | awk '{if(length($0)==5){print $0}}')
28、【date】
linux设置时间 date -s 2017-02-03 date -s 16:22:21 分别设置好日期和时间就OK
29、【XMing】
当centos图形化界面挂了,且一直拉不起来,又想打开virt-manager管理虚拟机怎么办?
安装XMing,然后配置XSHELL,配置X11,即可通过XMING打开图形化应用。XMING可以适用于任意图形化工具。
30、【awk】
awk '{pattern + action}' {filenames}
其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。
比如:ls | awk '{if(length($0)==5){print $0}}'
31、【文件夹颜色】
有时候在某些系统敲ls -ltr时文件夹的颜色和文件的颜色一样没有变化。在bashrc文件中给文件ls命令加个后缀就行
例如:ls=’ls –color=auto’
centos的bashrc文件在/root/.bashrc
suse的在/etc/bash.bashrc 改了之后再source一遍就OK(或者/home/gl_copas/.bashrc)
修改方法为: alias ls=’ls –color=auto’
32、【strace】
用strace追踪: 跟踪vim启动时间
strace -f -T -o vim.strace vim RunDelte.sh
33、【export】
export XX=000
向env中注入环境变量
34、【sort】
获取linux中对资源(CPU、内存)消耗对多的十个进程
ps aux|grep -v PID|sort -rn -k 3|head
解释为:列出所有进程,过滤PID行,对第三行按从大到小进行排序,head默认取前十行(head -15 表示取前1行)
ps aux|grep -v PID|sort -rn -k 4|head
35、【ping】
用指定网卡ping某个ip,比如ping -I eth0 172.xx.x.x 制定用eth0ping这个172的地址