Linux-Unix系统操作与维护常用命令

Linux-Unix系统操作与维护常用命令

(关注常用、实用目录)

                       

 

1 Linux下挂载新建硬盘的方法

1.1新硬盘分区及挂载

进入系统后,用root用户操作: fdisk -l 会看到有一块新的设置,如果你先前有一块硬盘(sda, sda1...),新加的这块应该是(/dev/sdb)如果还有其它硬盘就会依次递增(/dev/sdc, /dev/sdd....)。

1.2 分区

# fdisk /dev/sdb
进入fdisk模式:
Command (m for help):m //查看fdisk命令帮助
Command (m for help):n //创建新分区
Command action:
e extended //输入e为创建扩展分区
p primary partition (1-4)     //输入p为创建主分区,这里我们选择p
Partion number(1-4):1     //第一个扩展分区,按需求可以最多分4个主分区
First Cylinder(1-1014,default 1): 1 //第一个主分区起始的磁盘块数,可以选择默认值
Last cylindet or +siza or +sizeM or +sizeK: +1024MB //定义该分区的大小,如果按默认(按回车)即是使用全部可用存储额,也可以是用M或m单位结尾的数字(大写M是大B的意思,如果输入1M实际上是X8也就是8m的空间),这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。所有分区创建完后用w保存分区。
Command (m for help): w
The partition table has been altered!
保存完成后重启服务器,可以用#fdisk -l 命令检查刚刚所建分区,可以在返回结果中确认/dev/sdb1的信息。

1.3格式化该新添加的分区

键入:mkfs -t ext3  /dev/sda3

格式化指定的分区,依次类推,现在的系统大部分都是 ext3 格式

1.4挂载该分区

手动挂载,则键入:mount /dev/sda3 /home/work/       

 "表示将该新分区挂载到/home/work/这个目录下面"

开机自动挂载,则修改/etc/fstab文件,在这个文件里面添加一行:

/dev/sda3      /home/work      ext3   defaults,       1       2    如:

vi /etc/fstab

LABEL=/                /                      ext3     defaults        1 1
tmpfs                  /dev/shm             tmpfs   defaults        0 0
devpts                 /dev/pts              devpts gid=5,mode=620 0 0
sysfs                  /sys                   sysfs    defaults        0 0
proc                   /proc                  proc     defaults       0 0
LABEL=SWAP-sda2  /swap           swap    defaults        0 0
/dev/sda3           /home/work            ext3   defaults        1 2

fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以/dev/hda7 / ext2 defaults 11为例逐个说明:

  1. 第一项是您想要mount的储存装置的实体位置,如hdb或如上例的/dev/hda7。

  2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。

  3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以参见/prco/filesystems说明。

  4. 第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。

  5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。

6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。

 

2 Linux环境变量配置文件(常用)

查看系统当前的环境变量:env

查看变量的值:echo $变量名

设置环境变量: export 变量名=Hello!

清除环境变量:unset $变量名

常用预定义环境变量:

PATH 当前用户的主目录

HOME 当前用户的可执行文件搜索路径

LANG 系统使用的默认语言

SHELL 系统默认的shell。

 

环境变量设置文件


   全局环境变量,对所有Linux用户有效,设置文件:/etc/profile、/etc/bashrc(bashksh对应的文件为/etc/kshrc
   用户环境变量,只对当前用户有效,设置文件为当前用户主目录(~)下的:.profile、.bash_profile、.bashrc(bashksh对应的文件为.ksh_profile.kshrc

登录shell:作为Linux用户登录到Linux操作系统,或者用su - username切换到其他用户,都为登录shell,环境变量也同时切换。

非登录shell,用su  username,即为非登录shell,环境变量仍为当前用户的环境变量。
    根据是否为登录shell,读取环境变量配置文件是不同的。

登录shell读取环境变量顺序:

/etc/profile > /etc/profile.d/*.sh> ~/.bash_profile> ~/.bashrc> /etc/bashrc
   非登录shell读取环境变量顺序:

~/.bashrc > /etc/bashrc> /etc/profile.d/*.sh 

环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:source .bash_profile或者 . .bash_profile

 

3 ls du df的用法(常用实用)

3.1 显示文件大小

ls -lrt--block-size=MB

ls 命令显示文件大小:

可以通过 block-size 参数,来显示文件的KB/MB/GB大小值

因为它们都是取近似值,所以最好是三者都用,这样获得的信息更准确。

 

[root@fullcent datastore]#ls -l--block-size=KB

total 3148813kB

[root@fullcent datastore]#ls -l--block-size=MB

total 3149MB

[root@fullcent datastore]#ls -l--block-size=GB

total 4GB

也可以加入h 参数,来显示大小:

[root@fullcent datastore]#ls -l

total 3075012

[root@fullcent datastore]# ls -lh

total 3.0G

 

3.2 查看文件数

查看当前目录下文件的个数

ls -l | grep"^-" | wc -l

查看当前目录下文件的个数,包括子目录里的。

ls -lR| grep"^-" | wc -l

查看某目录下文件夹(目录)的个数,包括子目录里的。

ls -lR| grep"^d" | wc –l

 

3.4 linux查看文件夹下文件的大小

du -sk/-sm 文件详细路径    例如:du -sm ./

3.5 查看文件系统空间

df -h

df -k

df -m

du -sk ./* | sort-n

找出目录的空间大小,按大小排序

一般在管理多文件是需要使用一些特殊排序方式

默认排序:du-sm|sort -n

按照列排序:du-sm|sort +n(列数) -n(倒序用-r)

 

4 Linux下grep命令(常用)

grep(General Regular Expression Parser,通用规则表达式分析程序)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

它的使用语法为:

grep [选项] pattern [文件名]

. 匹配任意一个字符
* 匹配0 个或多个*前的字符
^ 匹配行开头
$ 匹配行结尾
[] 匹配[ ]中的任意一个字符,[]中可用 - 表示范围,
例如[a-z]表示字母a 至z 中的任意一个
\ 转意字符
命令中的选项为:
-b 显示块号
-c 仅显示各指定文件中包含模式的总行数
-i 模式中字母不区分大小写
-h 不将包含模式的文件名显示在该行上
-l 仅显示包含模式的文件名
-n 显示模式所在行的行号
-s 指定文件若不存在或不可读,不提示错误信息
-v 显示所有不包含模式的行

其中,pattern为所要匹配的字符串。如在/etc/passwd文件下查找包含“carey”字符的行:

grep carey/etc/passwd

要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。

grep 'test' d*

显示所有以d开头的文件中包含test的行。

ls -l | grep'^public'

通过管道过滤ls -l输出的内容,只显示以public开头的行。

后面的^字符强制grep命令只在每行的开头找public。整个搜索模式(pattern)用单引号括起来,使shell不理会它们。shell只将单引号去掉,将搜索模式送给grep命令。

grep -i 'helloworld' menu.h main.c

显示在menu.h和main.c文件中匹配“hello world”的行,忽略大小写。

例如:

grep'sample' -R * 

 

grep -v "^#" ./redis.conf

grep -v "^#" ./redis.conf | grep-v "^$" 

grep是文本过滤,-v选项是显示不包含匹配文本的行,^#表示以#开头的行.
grep -v ^#
表示不显示以#开头的行.
grep -v ^$
表示不显示空行.

5 Netstat 命令

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员(Multicast Memberships) 等等从整体上看,netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

常见参数

lsof -i :port 查看指定端口运行的程序,同时还有当前连接

LISTENING:正在监听,只有tcp端口才可以这样(如果是udp的话,那么肯定是木马)

ESTABLISHED:正在共享,表示两者连接着(如果135端口这样的话,注意杀毒)

CLOSE_WAIT:有过连接,现在已经结束了

netstat -ntl

lsof -i :port 查看指定端口运行的程序,同时还有当前连接

LISTENING:正在监听,只有tcp端口才可以这样(如果是udp的话,那么肯定是木马)

ESTABLISHED:正在共享,表示两者连接着(如果135端口这样的话,注意杀毒)

CLOSE_WAIT:有过连接,现在已经结束了

netstat -ntl

 

netstat -nul  

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如uid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

实用命令实例

 

1. 列出所有端口 (包括监听和未监听的)

  列出所有端口 netstat -a

  列出所有 tcp 端口 netstat-at

  列出所有 udp 端口 netstat-au

2. 列出所有处于监听状态的 Sockets

只显示监听端口 netstat -l

只列出所有监听 tcp 端口 netstat -lt

只列出所有监听 udp 端口 netstat -lu

只列出所有监听 UNIX 端口 netstat -lx

3. 显示每个协议的统计信息

显示所有端口的统计信息 netstat -s

显示 TCP 或 UDP 端口的统计信息 netstat -st 或 -su

4. 在 netstat 输出中显示 PID 和进程名称 netstat-p

 netstat -pt

5. 在 netstat 输出中不显示主机,端口和用户名 (host, port or user)

netstat -an

6. 持续输出 netstat 信息

netstat -c

网络地址:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

 

6 linux 查看系统信息命令(常用)

# cat /proc/meminfo

# uname -a # 查看内核/操作系统/CPU

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值