您的位置:首页 > 运维架构 > Linux

linux常用操作命令汇总

2017-10-19 19:49 363 查看
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的地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: