linux命令备忘

常用命令

命令参数作用
wc显示行数,单词数,字节数
-l只显示行数
-w只显示单词数
-c只显示字节数
grep搜索关键词 格式:grep [关键词] [文件]
-c显示找到的行数
-i忽略大小写
-n显示行号
find-name匹配名称查找
-user匹配所有者查找
-group匹配所有组查找
-exec ······ {} ;执行命令
tar-czvf [压缩包文件名] [文件列表]使用gzip压缩
-xzvf [压缩包文件名] (-C [指定目录])使用gzip解压(到指定路径)
-cjvf [压缩包文件名] [文件列表]使用bzip2压缩
-xjvf [压缩包文件名] [文件列表]使用bzip2解压(到指定路径)
- tvf [压缩包文件名]查看压缩包的文件
-xvf [压缩包文件名] [要提取的文件]解压出某个文件
cpcp {filename1,filename2,…} 目标/一次复制多个文件
diff-brief只显示两个文件相同或不同
-c显示具体文件哪些地方不同

date

    [root@zgx Desktop]# date
    Sun Oct  7 15:27:35 CST 2018
    [root@zgx Desktop]# date "+%Y-%m-%d-%H:%M:%S 一年中的第%j天"
    2018-10-07-15:33:14 一年中的第280天
    [root@zgx Desktop]# date "+%X"
    03:33:56 PM
    [root@zgx Desktop]# date "+%x"
    10/07/2018
    [root@zgx Desktop]# date "+%A"
    Sunday
    [root@zgx Desktop]# date "+%a"
    Sun
    [root@zgx Desktop]# date -s "20141205 21:00:00"
    Fri Dec  5 21:00:00 CST 2014
命令作用
%B完整月份(January-December)
%b缩写月份(Jan-Dec)

管道符

命令作用
命令 2>> 文件将错误文件追加到文件中
命令 &> 文件将标准输出和错误输出都追加到文件中
命令 &>> 文件将标准输出和错误输出都重写到文件中

vim

命令模式的命令

dd       删除光标所在行
5dd      删除光标开始5行
u        撤销
p        将之前删除的或者复制的文件粘贴到光标后面

末行命令

:set nu       	设置行号
:set nonu   	不显示行号
:命令           	执行该命令
:整数         	跳转到某行

进程

ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       2200  0.5  1.7 255216 36268 tty1     Rsl+ 20:47   0:16 /usr/bin/Xorg 
root       2999  0.0  0.1 116260  3048 pts/0    Ss   20:48   0:00 /bin/bash
root       3766  0.0  0.0 123356  1388 pts/0    R+   21:40   0:00 ps -au

top

动态显示 ps -aux

配置网络

网卡配置文件

/etc/sysconfig/network-scripts/ifcfg-eno16777736

计划任务

一次性任务

at 19:37

查询一次性任务

at -l

删除一次性任务

atrm 任务序号

周期性任务(注意一行写一条,所有命令用绝对地址 如/usr/bin/rm)

crontab  -e   
23 14 * * * /bin/echo "rhcha"

查看周期性任务

crontab  -l

删除所有周期性任务

crontab  -r

脚本

接收脚本参数

$0  脚本名称
$?上一个命令返回值
$*  返回所有参数
$# 一共多少参数

if控制语句(if后若有多行要执行,需写then)

if [ ! -e test  ]
then
echo "Y第一层"
echo "Y第二层"
elif [ -d /root ]
then
echo "E第一层"
echo "E第二层"
else
echo "N第一层"
echo "N第二层"
fi

for控制语句 (双括号)

read -p "这是read -p 输出的提示文字,输入与将放入变量TR1中: " TR1
echo "TR1的值为$TR1"
for ((i =1;i<=10;i++))
do
echo "这是第$i次循环"
done
for filename in `ls /`
do
echo "***************************************"
echo "/下有一个文件名为$filename的文件"
done

while控制语句

i=1
while [ $i -lt 50 ]
do
for FILE in `ls /`
do 
echo "这是第$i次循环"
let i++
done
done

case控制语句

echo "想终止程序,请强制退出"
while true
do
read -p "请输入一个字符" key
case $key in 
[a-z]|[A-Z])
echo "输入的是字母"
;;
[0-9])
echo "输入的是数字"
;;
*)
echo "其他字符"
esac
done

控制权限

• 第一种(针对其他所有人)

chmod

• 第二种(针对某一个用户)

这设置了这种权限的话用ls 命令查看目录会有一个加号

[jensen@OMEN /]$ ll -d /root/
dr-xrwx---+ 18 root root 4096 Oct  8 10:43 /root/

设置:setfacl -Rm u:auser:rwx /目录
查看:getfacl /目录

• 第三种(特殊权限)

suid rwsr-xr-x
sgid rwxr-sr-x
sbit rwxrwxrwt

• 第四种(隐藏权限)

chattr    lsattr

如果一个文件在chmod中为所有者赋予了不可读权限(root是所属人除外),则即使在acl中添加了权限,也不行,以chmod的规定优先
但是在用chmod为其他人设限,在acl中是可以开启权限的
给用户添加sudo权限(使用命令的绝对地址、添加NOPASSWD命令可以让用户不用每次都要密码)

[root@OMEN ~]# visudo

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
jensen  ALL=(ALL)       ALL
ryan    ALL=(ALL)       /usr/bin/cat
sea     ALL=NOPASSWD    ALL

存储

开机自动挂载配置文件

[root@OMEN ~]# cat /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Sat Sep 29 08:18:01 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root   /                       xfs     defaults        1 1
UUID=ada1cb63-5084-42d2-b305-2247651b8e37 /boot                   xfs     defaults,uquota        1 2
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
/dev/sdb1		/newFS			xfs	defaults	0 0 
/dev/sdb2		swap			swap	defaults	0 0
/dev/cdrom		/media/cdrom		iso9660	defaults	0 0

添加磁盘
1. 首先插上硬盘
2. 用fdisk命令为磁盘分区并加载

[root@OMEN ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x614d6cdc
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    14682111     5242880   83  Linux

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p

Partition number (3,4, default 3): 

First sector (14682112-41943039, default 14682112): 
Using default value 14682112

Last sector, +sectors or +size{K,M,G} (14682112-41943039, default 41943039): +3G
Partition 3 of type Linux and of size 3 GiB is set

Command (m for help): p
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x614d6cdc
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    14682111     5242880   83  Linux
/dev/sdb3        14682112    20973567     3145728   83  Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

如果此时没有/dev/sdb3文件,是因为指令没写进内核,执行两边partprobe命令就可以
3. 格式化分区(敲入mkfs按tab)(添加swap分区时使用mkswap命令)

[root@OMEN ~]# mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat  
[root@OMEN ~]# mkfs.xfs /dev/sdb3
  1. 挂载 使用mount临时挂载或者配置为开机自动挂载
    查看文件数据的占用量
[root@OMEN newFS]# du -sh /newFS/
35M	/newFS/

限制用户存储

  1. 首先在etc/fstab中给某个分区加入uquota服务,重启
	[root@OMEN ~]# cat /etc/fstab 
	#
	# /etc/fstab
	# Created by anaconda on Sat Sep 29 08:18:01 2018
	#
	# Accessible filesystems, by reference, are maintained under '/dev/disk'
	# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
	#
	/dev/mapper/rhel-root   /                       xfs     defaults        1 1
	UUID=ada1cb63-5084-42d2-b305-2247651b8e37 /boot                   xfs     defaults,uquota        1 2
	/dev/mapper/rhel-swap   swap                    swap    defaults        0 0
	/dev/sdb1		/newFS			xfs	defaults	0 0 
	/dev/sdb2		swap			swap	defaults	0 0
	/dev/cdrom		/media/cdrom		iso9660	defaults	0 0
	[root@OMEN newFS]# xfs_quota -x -c "limit bsoft=3M bhard=6M isoft=3 ihard=6 tracy" /boot/

编辑用户储存限制
edquota
-u是针对用户 -g是针对用户组

配置yum仓库

第一步

cd /etc/yum.repos.d/

第二步

vim newyumrepo.repo
[newyumrepo]
name=newyumrepo
baseurl=file:///media/cdrom
enable=1
gpgcheck=0

(如果gpgcheck=1,此处加一个gpgkey=)

添加用户或组

添加指定gid的组

groupadd -g (1000-)

添加指定uid的用户

useradd -u 50000 natasha

添加指定附属组的用户

useradd -g group1 natasha

添加指定扩展组的用户

useradd -G group1 natasha

添加无法登陆的用户

useradd -s /sbin/nologin natasha

修改文件的所属人和所属组

[root@centOS tmp]# ll fstab 
-rw-r--r-- 1 root root 313 8月  23 17:20 fstab

修改所属人

[root@centOS tmp]# chown zgx fstab 
[root@centOS tmp]# ll fstab 
-rw-r--r-- 1 zgx root 313 8月  23 17:20 fstab

修改所属组

[root@centOS tmp]# chgrp jxust fstab 
[root@centOS tmp]# ll fstab 
-rw-r--r-- 1 zgx jxust 313 8月  23 17:20 fstab

组建RAID

mdadm 命令用于管理 Linux 系统中的软件 RAID 硬盘阵列,格式为“mdadm [模式] <RAID 设备名称> [选项] [成员设备名称]”。

  • 步骤1 先组RAID
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde

-C 参数代表创建一个 RAID 阵列卡;-v 参 数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0就是创建后的RAID 磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 4 参数代表使用 4 块硬盘来部署这个 RAID 磁盘阵列;而-l 10 参数则代表 RAID 10 方案;最后再加上 4 块硬盘设备的名称就搞定了。

  • 步骤2 格式化
mkfs.ext4 /dev/md0 
  • 步骤3 写入开机配置文件,使之开机挂载

修复RAID

  • 步骤1 检测是哪块坏了
[root@OMEN ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Wed Oct 10 09:25:55 2018
     Raid Level : raid10
     Array Size : 41909248 (39.97 GiB 42.92 GB)
  Used Dev Size : 20954624 (19.98 GiB 21.46 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Sat Oct 13 09:29:35 2018
          State : clean, degraded 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 1
  Spare Devices : 0
         Layout : near=2
     Chunk Size : 512K
           Name : OMEN:0  (local to host OMEN)
           UUID : b242eb90:4f56ba22:aa30e58d:f4f7a12c
         Events : 21
    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       3       8       64        3      active sync   /dev/sde
       0       8       16        -      faulty   /dev/sdb
  • 步骤2 关机 换掉坏的硬盘 启动 输入替换命令
[root@OMEN ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb

LVM逻辑卷管理器

• 部署逻辑卷
第一步:使添加的硬件设备支持LVM技术

pvcreate  /dev/sdb /dev/sdc

第二步:将两块硬盘加入到卷组中,起名为storage

vgcreate storage /dev/sdb /dev/sdc

第三部:从卷组中割出一定大小的逻辑卷

lvcreate -n vo -l 40 storage

第四步:格式化并挂载

mkfs.ext4 /dev/storage/vo
mount /dev/storage/vo /LVM1/
这里需要注意切割单位的问题。在对逻辑卷进行切割时有两种计量单位。第一种是以容 量为单位,所使用的参数为-L。例如,使用-L 150M 生成一个大小为 150MB 的逻辑卷。另外 一种是以基本单元的个数为单位,所使用的参数为-l。每个基本单元的大小默认为 4MB。例 如,使用-l 37 可以生成一个大小为 37×4MB=148MB 的逻辑卷。 

• 扩容逻辑卷
第一步:卸载逻辑卷挂载点

	umount /LVM1/

第二步:扩展逻辑卷

lvextend -L 300M /dev/storage/vo

第三步:检查硬盘完整性,并重置硬盘容量。

[root@OMEN ~]# e2fsck -f /dev/storage/vo 
	e2fsck 1.42.9 (28-Dec-2013)
	Pass 1: Checking inodes, blocks, and sizes
	Pass 2: Checking directory structure
	Pass 3: Checking directory connectivity
	Pass 4: Checking reference counts
	Pass 5: Checking group summary information
	/dev/storage/vo: 11/40960 files (0.0% non-contiguous), 10825/163840 blocks
	
	[root@OMEN ~]# resize2fs /dev/storage/vo 
	resize2fs 1.42.9 (28-Dec-2013)
	Resizing the filesystem on /dev/storage/vo to 307200 (1k) blocks.
	The filesystem on /dev/storage/vo is now 307200 blocks long.
	第四步 重新挂载
	[root@OMEN ~]# mount /dev/storage/vo /LVM1/
	[root@OMEN ~]# df -h
	Filesystem              Size  Used Avail Use% Mounted on
	/dev/mapper/rhel-root    48G  3.1G   45G   7% /
	devtmpfs                986M     0  986M   0% /dev
	tmpfs                   994M     0  994M   0% /dev/shm
	tmpfs                   994M  8.8M  986M   1% /run
	tmpfs                   994M     0  994M   0% /sys/fs/cgroup
	/dev/sda1               497M  118M  379M  24% /boot
	/dev/mapper/storage-vo  287M  2.1M  266M   1% /LVM1

• 缩小逻辑卷
第一步 卸载挂载点

[root@OMEN ~]# umount /LVM1/

第二步 检查完整性

	[root@OMEN ~]# e2fsck -f /dev/storage/vo

第三步 缩小逻辑卷

	[root@OMEN ~]# resize2fs /dev/storage/vo 120M
	resize2fs 1.42.9 (28-Dec-2013)
	The filesystem is already 122880 blocks long.  Nothing to do!
	
	[root@OMEN ~]# lvreduce -L 120M /dev/storage/vo 
	  WARNING: Reducing active logical volume to 120.00 MiB
	  THIS MAY DESTROY YOUR DATA (filesystem etc.)
	Do you really want to reduce vo? [y/n]: y
	  Reducing logical volume vo to 120.00 MiB
	  Logical volume vo successfully resized

第四步 挂载

• 逻辑卷快照
生成: 使用-s参数生成一个快照券

lvcreate -L 120M -s -n SNAP /dev/storage/vo

还原:先卸载挂载点
然后lvconvert --merge /dev/storage/SNAP
最后挂载

NetworkManager

这个管理工具可以快速切换网络连接方案,网络连接方案包括连接那个网卡网络连接是指定ip还是dhcp,相当于网络情景模式。
查看联网方案

	[root@OMEN ~]# nmcli connection show 
	NAME         UUID                                  TYPE            DEVICE      
	eno16777736  faf70ee2-72ea-44e9-81b6-d3bc4c059665  802-3-ethernet  eno16777736 

查看联网方案的详细信息

	[root@OMEN ~]# nmcli connection show eno16777736 
	connection.id:                          eno16777736
	connection.uuid:                        faf70ee2-72ea-44e9-81b6-d3bc4c059665
	connection.interface-name:              --
	connection.type:                        802-3-ethernet
	connection.autoconnect:                 yes
	connection.timestamp:                   1540467919
	connection.read-only:                   no
	connection.permissions:                 

添加联网方案 格式 nmcli connection add con-name (添加的方案名) ifname (网卡名称) type (联网方案)(是否开机默认autoconnect no)、

添加指定ip的方案

	[root@OMEN ~]# nmcli connection add con-name company ifname eno16777736 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
	Connection 'company' (3f69bc52-e620-42eb-9acd-225eec89be77) successfully added.

添加DHCP的联网方案

[root@OMEN ~]# nmcli connection add con-name home ifname eno16777736 type ethernet 
	Connection 'home' (ae041083-c06b-464a-abe1-59b1267d2a6e) successfully added.

查看联网方案

[root@OMEN ~]# nmcli connection show 
	NAME         UUID                                  TYPE            DEVICE      
	home         ae041083-c06b-464a-abe1-59b1267d2a6e  802-3-ethernet  --          
	company      3f69bc52-e620-42eb-9acd-225eec89be77  802-3-ethernet  --          
	eno16777736  faf70ee2-72ea-44e9-81b6-d3bc4c059665  802-3-ethernet  eno16777736 

切换联网方案

	[root@OMEN ~]# nmcli connection up home 
	Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值