Linux日常命令

linux日常运维命令

  1. 修改系统时间

[root@localhost ~]# date -s "2012-11-16 10:16:00"

[root@localhost ~]# clock  -w

  1. 查看系统的内核

[root@localhost ~]#  uname –a

  1. 查看linux服务器物理CPU的个数

[root@localhost ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq  | wc –l

  1. 查看linux服务器逻辑CPU的个数

[root@localhost ~]# cat /proc/cpuinfo | grep "processor " | wc –l 

  1. 查看linux服务器的内存使用

[root@localhost ~]# free –m

已用内存:used-buffers-cached

可用内存:free+buffers+cached

  1. 查看服务器硬盘使用情况

[root@localhost ~]#  fdisk –l

  1. 查看文件系统的磁盘空间占用情况

[root@localhost ~]#  df  –h

  1. 查看服务器IO使用情况,,(使用下面命令要先安装软件包yum –y install sysstat)

[root@localhost ~]#  iostat

Iostat –d –x –k 1(持续查看IO使用)

如果%util接近100%说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。

如果idble小于70%,I/O的压力就比较大,说明读取进程中有较多的等待,还可以结合vmstat查看b参数(等待资源的进程数)和wa参数(I/O等待所占用的CPU时间的百分比,高于30%时I/O的压力就比较高了)。

  1. 查看目录的大小

[root@localhost ~]#  du  -sh  /root

  1. Dd命令的使用,在进行维护系统时也经常用到

*制作交换文件的时候

Dd  if=/dev/zero of=/swapfile  bs=1024  count=65536

*制作驱动盘的时候

Dd  if=rhel40 .img  of=/dev/fd0  bs=10k

制作ISO镜像的时候

Dd  if=/dev/cdrom  of=/root/cd1 .iso

  1. 查看系统负载情况

[root@localhost ~]#  uptime  或者 top

在使用top时,如果r经常大于3或4,且id经常小于50,则标示CPU的负荷很重

如果每个cpu当前的活动进程数大于5,则标示系统性能问题严重。

  1. 使用vmstat命令查看linux系统的整体性能(进程、内存、虚拟内存、磁盘IO、CPU等)

[root@localhost ~]#  vmstat

  1. 查看系统是23位的还是64位的

[root@localhost ~]# ls -lF / | grep /$  

*或者用命令#  file /sbin/init

查看输出结果是否有/lib64的目录,有则说明系统是64位的,没有说明是32位的。

  1. 查看系统安装的模块

[root@localhost ~]# lsmod

  1. 查看服务器PCI设置(如:网卡、声卡、显卡等详细信息)

[root@localhost ~]# lspci   

  1. 查看和设置用户密码策略

[root@localhost ~]# vim /etc/login.defs

*强制密码长度

[root@localhost ~]# vim /etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=12

  1. 设置登录超时自动退出终端

[root@localhost ~]# vim /etc/profie

export TMOUT=600

  1. 设置禁止root用户和空密码用户远程登录系统

[root@localhost ~]# vim /etc/ssh/sshd_config

PermitRootLogin   no

PermitEmptyPasswords  no

如果拒绝某个用户远程登录系统则:(不能 使用deny和allow)

DenyUsers  zhangfeng  zhangxiao

-允许用户zhang远程登录系统,允许用户wang在某个主机登录,其它用户不允许。

AllowUsers  zhang  wang@192.168.12.1

 限制登录失 败后的重试次数   MaxAuthTries 3

设置完后SSH:使用命令是设置的生效:# /etc/init.d/sshd reload

  1. 系统日志管理

[root@localhost ~]# vim /etc/syslog.conf   (定义日志类型,输出路径)

[root@localhost ~]# vim /var/log/secure(查看系统登录安全日志:SSH/POP3/telnet、ftp等)

[root@localhost ~]# last       (产看登录用户的信息)

[root@localhost ~]# lastlog     (查看所有用户登录的时间)

  1. 设置用户在系统的权限;如只让用户使用ifconfig命令。

[root@localhost ~]# visudo   (编辑sudo文件)

Zhang    localhost=/sbin/ifconfig

定义别名格式如下:

User_Alias   MING=zhang,wang,xiao    (别名必须大写,这是定义一个用户组)

Host_Alias   ZHU=smtp,pop  

Cmnd_Alias   MING=/bin/rpm , /usr/bin/yum (定义一组命令集合)

进行调用:

Cmnd_Alias   MING=/bin/rpm ,/usr/bin/yum

Zhang   localhost=MING

启用sudo后,进行日志设置

[root@localhost ~]# visudo

Default  logfile = “/var/log/sudo”

[root@localhost ~]# vim /etc/syslog.conf

Local12.debug      /var/log/sudo

[root@localhost ~]# /etc/init.d/syslog  restart

[root@localhost ~]# sudo –l (查看当前用户被授权的sudo命令)

  1. 锁定密码文件,运行增加和删除;

[root@localhost ~]# chattr  +i  /etc/passwd

[root@localhost ~]# chattr  -I  /etc/passwd(取消i权限)

  1. 禁止用户执行控制台命令(poweroff、halt、reboot、eject)

在目录/etc/security/console.apps/下有以上命令,将其打包并移除到别的目录或者删除。

  1. 禁止用户执行Ctrl+Alt+Del热键重启命令

[root@localhost ~]# vim /etc/inittab

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

[root@localhost ~]# init q  (使用此命令使之生效)

  1. 在grub之前设置密码,使用户在进入grub前输入密码
  • [root@localhost ~]# grub-md5-crypt  (设置MD5加密密码)
  • [root@localhost ~]# vim /boot/grub/grub.conf (在title 前加入password   --MD5   )
  1. 限制用户登录的tty终端

[root@localhost ~]# vim /etc/inittab   (在tty终端前加#号,注释掉就可以)

  1. 禁止root用户登录的终端

[root@localhost ~]# vim /etc/securetty (加#号注释)

  1. 禁止除root外的用户从tty1终端登录系统
  • [root@localhost ~]# vim /etc/pam.d/login  

Account  required  pam_access.so  (增加此认证)

  • [root@localhost ~]# vim /etc/security/access.conf

-:ALL EXCEPT root:tty1  (去掉#号)

- : root : 192.168.12.0/24  172.16.0.0/8(禁止root用户从这两个网段远程登录)

26. 防火墙规则表

Filter表:主要是对数据包进行过滤

Nat表:主要用于修改数据包的IP地址、端口号等。

Mangle表:此表应用并不广泛。

Raw表:主要用于决定数据包是否被状态跟踪机制处理,在匹配时raw表优先于其它表。

Iptables   -A(在末尾追加一条规则)

 -D(删除指定链中的某条规则,按序号或内容)

 -I(在指定的链中插入一条规则,没有指定位置,在开头插入)

 -L (显示防火墙规则)

 -F (清除指定连中所有规则,没有指定则清楚表中所有链的规则)

 -X(清除用户自定义的规则链)

 -P (设置默认的策略)

Iptables  (-t表名) (-A命令选项) (链名) (条件匹配 –p tcp) (-j 目标动作)

 

                                                 

 

 

 

 

 

  1. Linux系统SNAT(只能用在nat表的POSTROUTING链)和DNAT(只能用在nat表的prerouting和output 链)策略使用

* iptables  -t  nat  -A  POSTROUTING  –s  192.168.1.0/24  -o  etho  -j  SNAT  --to-source  200.100.100.1   (有固定公网IP使用此策略)

* iptables  -t  nat  -A  POSTROUTING  –s  192.168.1.0/24  -o ppp0  -j  MASQUERADE (使用动态公网IP时使用次策略)

   *  Iptables  -t  nat  -A  PREROUTING  -I  eth0  -d  200.100.100.1  -p  tcp  --dport  80  -j  DNAT  --to-destination  192.68.12.1 (首先要开启路由转发功能,在使用DNAT策略)

27. 代理服务器squid

配置文件:/etc/squid/squid.conf

http_port  3128 (这是squid的默认端口号)

cache_mem  64MB  (用于设置缓存的内存空间大小)

maximum_object_size  4096 KB  (允许保存的缓存的最大对象大小)

reply_body_max_size  1024 allow all (允许用户下载的最大文件大小)

access_log  (用于指定日志文件的保存位置)

visible_hostname (用于设置代理服务器可用的完整主机名)

[root@localhost ~]# squid  -z  (初始化缓存目录)

[root@localhost ~]# squid  -k reconfigure  (重新加载配置文件)

 

脚本基础:

 

  1. Sed的基础用法

Sed的格式如下:

Sed 【-nefr】【n1,n2】 action

其中:

-n :是安静模式,只有经过sed处理过的行才显示出来,其它的不显示。

-e :默认选项,表示直接在命令行模式进行sed操作。

-f :将sed的操作 写在一个文件里,如:-f  filename

-r :表示使sed支持扩展正则表达式。

N1,n2 :选择要进行处理的行。如10,20表示在10~20行之间处理。

a : 表示添加,后接字符串,添加到当前行 的下一行。

c : 表示替换,后接字符串,用它替换n1,n2之间的行。

d : 表示删除字符模式的行,语法为sed ‘/regexp/d’ ,斜杠之间是正则表达式,模式在d前面,d后面一般不接任何内容。

i : 表示插入,后接字符串,添加到当前行的上一行。

P : 表示打印,打印某个选择的数据,通常与 –n 一起使用。

S : 表示搜索,还可以替换,例如:1,20s/hao/zhang/g表示替换1~20行的hao为zhang。

实例如下:

  • 显示password内容,将2~5行删除后显示

[root@node-rac1 ~]# cat -n /etc/passwd | sed '2,5d'

  • 在文件第二行后面加上hello语句。

[root@node-rac1 ~]# cat -n /etc/passwd | sed '2a hello'

  • 在文件第二行后面加上两行字,

[root@node-rac1 ~]# cat -n /etc/passwd | sed '2a hello? \

zhangfneg ?'

  • 将2~5行的内容替换成“我是好人”

[root@node-rac1 ~]# cat -n /etc/passwd  | sed '3,37c我是好人'

  • 只显示文件5~7行

[root@node-rac1 ~]# cat -n /etc/passwd | sed -n '5,7p'

利用此表达方式也可以很轻松的分析日志:

[root@node-rac1 ~]# cat /var/log/secure | sed -n '/12:12:50/,/12:13:50/p'

  • 只显示IP地址和子网掩码
  • [root@node-rac1 ~]# ifconfig eth0 | grep "inet addr" | awk -F: '{print $2,$4}'|

> awk '{print $1,$3}'

192.168.12.231 255.255.255.0

[root@node-rac1 ~]#

  • 修改文件中第3行中的while为root。

       [root@node-rac1 ~]#  sed  -i  '3s/root/while/g' zhang.sh

  1. Sort在linux中的用法

Sort  –b : 忽略前导空格

Sort  -f : 忽略大小写

Sort  -M : 按月排序

Sort  -n : 按数字排序

Sort  -r : 倒序排列

Sort  -o : 输入之文件

Sort  -u 文件名 :表示忽略重复,取单一

Sort  a.txt | uniq  -I 表示取消重复查看重复值有多少次。

例如:要查看服务器被多少IP访问过

 [root@node-rac1 ~]# sort /var/log/httpd/access-log | awk '{print $1}' | uniq –c

  1. Grep 在linux中的用法

Grep  -a : 表示以文本文件方式搜索。

Grep  -c : 表示计算找到符合行的次数

Grep  -i : 忽略大小写。

Grep  -n : 表示输出行号。

Grep  -v : 表示反向选择。

正则表达式:

*修饰符:前一个字符出现零次或多次。

[ ] 通配符:任意单个字符在[ ]中

. 通配符:任意单个字符。

[ ^  ] 通配符:不在集合中的任意单个字符。

^  定位点:行首,或以什么开头。

$  定位点: 行尾。

[ n1-n2 ]:列出截取的范围:grep ‘[a-z]’a.txt

[:ulnum:] 0-9,A-Z,a-z

[:digit:] 0-9

[:alpha:] A-Z,a-z

[:upper:] A-Z

[:lower:] a-z

[:punct:] 标点符号。

 

例如:搜索符合的单词的行。

[root@node-rac1 ~]# grep  –n  't[ae]st'  zhang.txt

取出oo前面不是g的行

[root@node-rac1 ~]# grep  -n  '[^g]oo'  zhang.txt

查看文件开头不是以字母的行

[root@node-rac1 ~]# grep  -n  '^[^a-zA-Z]'  zhang.sh

查询以 . 结尾的文件行

[root@node-rac1 ~]#  grep  -n  '\.$'  hao

扩展正则表达式egrep的使用:(grep只支持基础表达式,而egrep支持扩展,其实egrep是grep  -E的别名)

   + :表示一个或多个重复字符。与.*作用类似

   ? :表示0个或一个字符。与.*作用类似

   | :表示或的关系。比如’gd|good|dog’表示有gd和good和dog的字符串。

例如:查找文件,去除空白行和行首#的行

   [root@node-rac1 ~]# egrep -v '^$|^#' hao

例如:-exec ok的用法

查找文件并显示文件的属性

[root@node-rac1 ~]# find  /root/  -name  zhang.sh  -exec  ls  -ld  {}  \;

  1. Find的常用参数

-name :按照文件名查找

-perm :按照文件的权限查找文件。如:-777

-type : 按照类型查找:d目录;c字符设备文件;p管道文件;f普通文件;l符号链接文件

-user: 按照文件属主查找。

-group:按照文件属组查找文件。

-mtime –n +n :按照文件的更改时间查找文件。

-nouser和-nogroup:表示查找无效属组和属主的文件。

Xargs参数的用法和exec差不多。

如:查看当前目录下文件权限是777的文件并同时将所有人执行的权限收回。

[root@node-rac1 ~]# find  /  -perm  -777  -print  |  xargs  chmod  o-x

  1. 脚本常用变量

Read也可以设置变量如:

#read  zhangfeng

 Ni shi ge hao xue sheng!

#echo $zhangfneg

$# :表示命令行中位置参数的数量。

$* :表示所有位置参数的内容。

$? :表示命令执行后返回的状态。返回值为0为正确。非0 表示命令执行错误。

$$ :表示当前的进程号

$! :表示后台运行的最后一个进程的进程号。

$0 :表示当前执行的进程的进程名。

数值比较:

-eq :等于

-ne :不等于

-gt :大于

-lt  :小于

-le  :小于或等于

-ge :大于或等于

逻辑测试:

&& :逻辑与

|| :逻辑或

! :逻辑否

  1. 脚本结构
  • :单分支的if语句

If

Then

fi

  • :双分支的if语句

If

Then

Else

fi

  • :多分支的if语句

If

Then

Elif

Then

Else

fi

  • :for循环语句

For

Do

done

  • :while语句循环

While

Do

done

  • :case语句

Case  变量值  in

模式1)

命令;;

模式2)

命令;;

*)

默认命令   esac

 

选择题

  1. 终止一个前台进程可能用到的命令或操作是

   A .Kill  B.  Ctrl+c   C.  Shutdown  D  Halt

  1. 命令工具mkdir在不存在父目录不存在的情况下使用哪个选项

A -m   B. -d   C. -f   D. -p

  1. 文件exr的访问权限为rw-r--r--,现在要增加所有客户的执行权限和同组用户的写权限,下列命令正确的是( ):

A chmod  a+xg+w exr   B   chmod   765 exr   C   chmod o+x exr   D Chmod 777 exr

  1. linux 文件权限一共10位长度,分成四段,第三段表示的内容是:

A.文件类型 B.文件所有者的权限 C.其他用户的权限 D.文件所有者所在组的权限

  1. CentOS系统中那条命令用于更改文件权限

A. Attrib B. Chmod C. Change D. file

  1. 如何从当前系统中卸载一个已装载的文件系统

A. umount

B. dismount

C. mount一u

D从/etc/fstab中删除这个文件系统项

  1. kickstart的主要作用是

A.提供给客户端IP地址

B.提供客户端所需的引导文件

C.实现自动化的系统部署选项设置

D.提供系统镜像存储

  1. 以下关于DHCP的描述中,正确的是()

 A.DHCP客户机不可能跨越网段获取IP地址

 B.DHCP客户机只能收到一个dhcpoffer

 C.DHCP服务器可以把一个IP地址同时租借给两个网络的不同主机

 D.DHCP服务器中可自行设定租约期

  1. linux文件权限一共10位长度,分成四段,第三段表示的内容是
  1. 文件类型 B.文件所有者的权限 C.其他用户的权限 D.又件所有者听在组的权限
  1. 终止一个前台进程可能用到的命令或操作是

A .Kill B.   Ctrl+c C.  Shutdown D.  Halt

  1. 命令工具mkdir在不存在父目录不存在的情况下使用那个选项
  1. -m B. -d C. -f D. -p
  1. 文件exr的访问权限为rw-r--r--,现在要增加所有客户的执行权限和同组用户的写权限,下列命令正确的是
  1.  Chmod a+xg+w exr   B.  Chmod 765 exr   C.  Chmod o+x exr   D.  Chmod 777 exr
  1. 下列不是Linux系统进程类型的是
  1. 交互进程 B、批处理进程 C.守护进程 D.就绪进程
  1. 配置Apache 1.3.19服务器需要修改的配置文件为

A.httpd. Conf B.access. Conf C.srm. Conf D.named. conf

  1. Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用 ( )命令

A.cat B.more C.less D.menu

  1. 下列关于/etc/fstab文件描述,正确的是

 

  1. fstab文件只能描述属于linux的文件系统
  2. CD_ R0}和软盘必须是自动加载的
  3. fstab文件中描述的文件系统不能被卸载
  4. 启动时按fstab文件描述内容加载文件系统
  1. Linux将存储设备和输入/输出设备均看做文件来操作,( )不是以文件的形式出现。

A.目录 B.软链接 C.I节点表 D.网络适配器

  1. 命令是在VI编辑器中执行存盘退出

A:q B ZZ C:q! D:WQ

  1. 通过文件名存取文件时,文件系统内部的操作过程是通过
  1. 文件在目录中查找文件数据存取位置。
  2. 文件名直接找到文件的数据,进行存取操作。
  3. 文件名在目录中查找对应的工节点,通过工节点存取文件数据。
  4. 文件名在中查找对应的超级块,在超级块查找对应i节点,通过i节点存取文件数据
  1. 目录存放着Linux的源代码( )

A /etc B/usr/src C /usr D /home

  1. 关于文件系统的安装和卸载,下面描述正确的是( )

 

  1. 如果光盘未经卸载,光驱是打不开的
  2. 安装文件系统的安装点只是/mnt下
  3. 不管光驱中是否有光盘,系统都可以安装CD-ROV设备
  4. Mount /dev/fd0 /floppy ,此命令中目录/floppy是自动生成的

 

  1. 如果没有特殊声明,匿名FTP服务登录帐号为( )

A、 user B、anonymous C、guest D、用户自己的电子邮件地址

  1. 哪个目录存放用户密码信息( )

A. /boot   B. /etc  C. /var D. /dev

  1. 用”rm -i",系统会提示什么来让你确认( )

A命令行的每个选项 B.是否真的删除 C是否有写的权限 D.文件的位置

  1. 以下哪个命令可以终止一个用户的所有进程

A. skillall   B skill C. kill   D. killall

 

  1. 选择正确的可以重启网卡的指令行
  1. service network restart
  2. ifdown eth0
  3. ifup ethl
  4. /etc/sysconfig/network一scripts restart
  1. 列出包括以”.“开始的隐藏文件在内的所有文件的命令是(
  1. ls B.ls -a C.ls -l D. Ls
  1. Linux系统中表示用户主目录的符号是

A 、. B 、.. C、~ D、/

  1. Linux中为了将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz,我们可以使用
  1. Tar -czvf this.tar.gz ./*.txt
  2. Tar ./*.txt -zcvf this.tar.gz
  3. Tar -zxvf this.tar.gz  ./*.txt
  4. Tar ./*.txt -zxvf this.tar.gz
  1. 下列属于linux系统关机命令是:(多选)

A.shutdown B.Halt C.stop D.init 0

  1. Linux系统中,采用计划任务通常的命令为

A.cront B.ls C.smit D.sqlplus

  1. Linux最多( )各主分区

A.3 B.4 C.5 D.6

  1. 使用( )命令更改一个文件的权限设置
  1. check B.change C.chmod D.chown
  1. 将光盘CD-ROM (hdc>安装到文件系统的/m nt/cd rom目录下的命令是
  1. mount /mnt/cdrom
  2. mount /mnt/cdrom /dev/hdc
  3. mount /dev/hdc /mnt/cdrom
  4. mount /dev/cdrom
  1. 在V1编辑器里命令”dd”用来删除当前的

A.行

B.变量

C.字

D.字符

  1. 在下列分区中,Linux默认的分区是

A.   FAT32   B.  EXT3/ 4 C.FAT D.NTFS

  1. 如果用户想对某一命令详细的了解,可用

A.  is    B.  help   C.man D.dir

  1. 以长格式列目录时,若文件test的权限描述为:-rwxrw-r--则文件test的类型及文件组的权限是

A.目录文件、读写执行

B.目录文件、读写

C.普通文件、读写

D.普通文件、读

  1. /etc/shadow文件中存放

A.用户账号基本信息

B用户口令的加密信息

C.用户组信息

D.文件系统信息

  1. 为卸载一个软件包,应使用

A. rpm一i B. rpm一e C. rpm -q D. rpm -V

  1. 在LINUX中,要查看文件内容,可使用
  1. More B. cd C. Login D. Logout
  1. LINUX交换分区的格式为

A. ext2 B. ext3 C. FAT D. swap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值