Linux 维护常用命令.docx
- 文档编号:9015199
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:12
- 大小:22.84KB
Linux 维护常用命令.docx
《Linux 维护常用命令.docx》由会员分享,可在线阅读,更多相关《Linux 维护常用命令.docx(12页珍藏版)》请在冰豆网上搜索。
Linux维护常用命令
Linux维护常用命令
1、查看某文件的一部分
如果你只想看文件的前5行,可以使用head命令,
如:
head-5/etc/passwd
如果你想查看文件的后10行,可以使用tail命令,
如:
tail-10/etc/passwd
查看文件中间一段,可以使用sed命令
如:
sed–n'5,10p'/etc/passwd这样你就可以只查看文件的第5行到第10行
2、将file.txt里的123改为456
方法1
sed's/123/456/g'file.txt>file.txt.new修改的保存到其它文件
sed-i's/123/456/g'file.txt直接修改原文件
方法2
vifile.txt
输入命令:
:
%s/123/456/g
注意:
如果替换的文件有特殊符号如/就要用来取消。
例:
sed-i's//usr/local/apache2/hotdogs//vary/www/html/g'/usr/local/apache2/conf/httpd.conf
如果只是下原有的行后添加就用&
例:
sed-i's/DirectoryIndexindex.htmlindex.html.var/&index.htmindex.php/g'/usr/local/apache2/conf/httpd.conf
3、echo典型应用
echo"abcdefg"|perl-lne'{$a=reverse($_);print$a;}'把一个字符串翻转
echobottle|rev把一个字符串翻转
[文件目录管理]
1、删除几天以前的所有东西(包括目录名和目录中的文件)
1)find.-crime+3-execram-fro{};
2)find./-mime+3-print|xargsram-f–r
2、在多级目录中查找某个文件的方法
1)find/dir-namefilename.ext
2)du-a|grepfilename.ext
3)locatefilename.ext
3、删除软硬连接注意点
删除软件连接的时候一定要记得不要在删除的文件夹后加一斜杠,
ram-ffilename/
会说这是一个文件夹不能删除
ramfilename
会提示说是否要删除这个连接。
如果用的第一种可能会把其它文件都删除
4、删除目录中含输入关键字的文件
find/mnt/ebook/-typef-execgrep"在此输入关键字"{};-print-execram{};
5、在当前目录下解压rpm文件
catkernel-ntfs-2.4.20-8.i686.rpm|rpm2cpio|pax–r
6、用命令清空Root回收站中的文件
cd/vary/.Trash-root
ram-fro*
[系统与安全]
1、让用户的密码必须有一定的长度,并且符合复杂度
vi/etc/login.defs,修改PASS_MIN_LEN
2、用dat查询昨天的日期
date--date='yesterday'
3、修改系统时
1)设置你的时区:
timeconfig里选择Asia/Shanghai(如果你位于GMT+8中国区域)
2)与标准时间服务器校准:
ntpdatetime.nist.gov
date-s“2003-04-14cst”,cst指时区,时间设定用date-s18:
10
修改后执行clock-w写到CMOS
3)将当前软件系统时间写入硬件时钟:
hwclock–systohc
4、改变redhat的系统语言/字符集
修改/etc/sysconfig/i18n文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法
cp/etc/sysconfig/i18n$HOME/.i18n
vi$HOME/.i18n文件,如
LANG="en_US",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户
5、查看系统信息
cat/proc/cpuinfo-CPU(i.e.vendor,Mhz,flagslikemmx)
cat/proc/interrupts-中断
cat/proc/ioports-设备IO端口
cat/proc/meminfo-内存信息(i.e.memused,free,swapsize)
cat/proc/partitions-所有设备的所有分区
cat/proc/pci-PCI设备的信息
cat/proc/swaps-所有Swap分区的信息
cat/proc/version-Linux的版本号相当于uname-r
uname-a-看系统内核等信息
6、让linux自动同步时间
vi/etc/crontab
加上一句:
0001**rootrdate-stime.nist.gov
7、如何防止某个关键文件被修改
在Linux下,有些配置文件是不允许任何人(包括root)修改的。
为了防止被误删除或修改
可以设定该文件的“不可修改位(immutable)”。
命令如下:
#chattr+i/etc/fstab
如果需要修改文件则采用下面的命令:
#chattr-i/etc/fstab
[管理与网络]
1、lsof用法小全
lsofabc.txt显示开启文件abc.txt的进程
lsof-i:
22知道22端口现在运行什么程序
lsof-cnsd显示nsd进程现在打开的文件
lsof-ggid显示归属gid的进程情况
lsof+d/usr/local/显示目录下被进程开启的文件
lsof+D/usr/local/同上,但是会搜索目录下的目录,时间较长
lsof-d4显示使用fd为4的进程
lsof-i[i]用以显示符合条件的进程情况
语法:
lsof-i[46][protocol][@hostname|hostaddr][:
service|port]
46-->IPv4orIPv6
protocol-->TCPorUDP
hostname-->Internethostname
hostaddr-->IPv4位置
service-->/etc/service中的servicename(可以不止一个)
port-->端口号(可以不止一个)
例子:
TCP:
25-TCPandport25
@1.2.3.4-InternetIPv4hostaddress1.2.3.4tcp@ohaha.ks.edu.tw:
ftp-TCPprotocolhost:
ohaha.ks.edu.twservicename:
ftp
lsof-n不将IP转换为hostname,预设是不加上-n参数
例子:
lsof-itcp@ohaha.ks.edu.tw:
ftp-n
lsof-p12看进程号为12的进程打开了哪些文件
2、grep不显示本身进程
#ps-aux|grephttpd|grep-vgrep
grep-vgrep可以取消显示你所执行的grep本身这个进程,-v参数是不显示所列出的进程名
3、查看本机IP
ifconfig|grep"inet"|cut-c0-36|sed-e's/[a-zA-Z:
]//g'
hostname–i
4、查看有多少活动的Httpd进程
#!
/bin/sh
while(true)
do
pstree|grep"*[httpd]$"|sed's/.*-([0-9][0-9]*)*[httpd]$/1/'
sleep3
done
同样可以引用到其它的进程
5、设置com1口,让超级终端通过com1口进行登录
第一步:
确认有/sbin/agetty,编辑/etc/inittab,添加
7:
2345:
respawn:
/sbin/agetty/dev/ttyS09600
9600bps是因为连路由器时缺省一般都是这种速率,也可以设成
19200、38400、57600、115200
第二步:
修改/etc/securetty,添加一行:
ttyS0,确保root用户能登录
第三步:
重启机器,就可以拔掉鼠标键盘显示器(启动时最好还是要看看输出信息)了
6、查找或删除正在使用某文件的进程
fuserfilename
fuser-kfilename
7、已知网络中一个机器的硬件地址,如何知道它所对应的IP地址
在Linux下,假定要查“00:
0A:
EB:
27:
17:
B9”这样一个硬件地址所对应的IP地址,可以使
用以下命令:
#cat/proc/net/arp|grep00:
0A:
EB:
27:
17:
B9
192.168.2.540x10x600:
0A:
EB:
27:
17:
B9*eth2
另外,还可以用“arp-a”命令查询:
#arp–a|grep00:
0A:
EB:
27:
17:
B9
(192.168.2.54)at00:
0A:
EB:
27:
17:
B9[ether]oneth2
8、在Linux下如何绑定IP地址和硬件地址
可以编辑一个地址对应文件,里面记录了IP地址和硬件地址的对应关系,然后执行“arp–
f地址对应文件”。
如果没有指定地址对应文件,则通常情况下一默认文件/etc/ethers为准。
地址对应文件的格式如下:
192.168.0.100:
0D:
61:
27:
58:
93
192.168.0.200:
40:
F4:
2A:
2E:
5C
192.168.0.300:
0A:
EB:
5E:
BA:
8E
9、更改eth0是否混杂模式(混杂模式可以监听其它主机的信息)
网卡eth0改成混杂模式:
ifconfigeth0promisc
关闭混杂模式:
ifconfigeth0–promisc
10、linux下清空arp表的命令
#arp-d-a(适用于bsd)
forHOSTin`arp|sed'/Address/d'|awk'{print$1}'`;doarp-d$HOST;done
11、如何得到网卡的MAC地址
arp-a|awk'{print$4}'
ifconfigeth0|head-1|awk'{print$5}'
12、一个网卡绑定多ip
方法一、建立eth0:
1在网卡后加冒号和数字的文件
cp/etc/sysconfig/network-scripts/eth0/etc/sysconfig/network-scripts/eth0:
1
再修改下eth0:
1就可以了.
方法二、
在/etc/sysconfig/network-scripts/下创建一个文件:
ifcfg-ethX-rangeX("X"为网卡号)
文件内容:
IPADDR_START=
IPADDR_END=
CLONENUM=0
可以有256个ip
13、一个ip如何绑定两块网卡
假设192.168.0.88是ip,192.168.0.1是网关:
/sbin/modprobebondingmiimon=100mode=1
/sbin/ifdowneth0
/sbin/ifdowneth1
/sbin/ifconfigbond0192.168.0.88
/sbin/ifenslavebond0eth0eth1
/sbin/routeadddefaultgw192.168.0.1
14、设置ssh上来能不自动断线
修改自己HOME目录下的.bash_profile文件,加上
exportTMOUT=1000000(以秒为单位)
然后运行source.bash_profile
15、mount局域网上其他windows机器共享出的目录
mount-tsmbfs-ousername=guest,password=guest//machine/path/mnt/cdrom
16、向登陆到同一台服务器上的所有用户发一条信息
1)输入wall并回车
2)输入要发送的消息
3)结束时按“Control-d”键,消息即在用户的控制窗口中显示
17、向远程机器上的所有用户发送消息
使用rwall(向所有人远程写)命令同时发送消息到网络中的所有用户。
rwallhostnamefile
当使用CDE或OpenWindows等窗口系统时,每个窗口被看成是一次单个的登录;
如果用户登录次数超过一次则消息直接发送到控制窗口
18、向网络中的所有用户发送消息
发送消息到网络中的所有用户
1)输入rwall-nnetgroup并回车
2)输入要发送的消息
3)结束时按“Control-d”键,消息即在系统每个用户的控制窗口中显示,下面是系统管理员
发消息到网络组Eng每个用户的例子:
%rwall-nEngSystemwillberebootedat11:
00.(Control-d)
%
用户控制窗口中的消息:
Broadcastmessagefromrootonconsole…Systemwillberebootedat
11:
00.EOF
注意:
也可以通过rwallhostname(主机名)命令到系统的所有用户
19、将top的结果输出到文件中
top-d2-n3-b>test.txt
可以把top的结果每隔2秒,打印3次,这样后面页的进程也能够看见了
20、装双系统不能看到另一个系统的解决办法
首先光盘启动,进入rescue模式,运行GRUB,进入grub提示符grub>,然后敲入下面的
语句,重启就好了。
root(hd0,2),setup(hd0)
21、压缩传输文件或目录
传输到远程:
tarczf-www|sshserver"tarzxf-"
压缩到远程:
tarczf-www|sshserver"cat>www.tar.gz"
解压到远程:
sshserver"tarzxf-" 解压到本地: sshserver"catwww.tar.gz"|tarzxf- 22、命令行下发送带附件的邮件 方法1.uuencode 方法2.cat [Mysql维护] 1、mysql的数据库存放在什么地方 1)如果使用rpm包安装,应该在/vary/lib/mysql目录下,以数据库名为目录名 2)如果源码安装在/usr/local/mysql中,应该在/usr/local/mysql/vary中,以数据库名为目录名 2、从mysql中导出和导入数据 导出数据库 mysqldump数据库名>文件名 导入数据库 mysqladmincreate数据库名 mysql数据库名<文件名 3、忘了mysql的root口令怎么办 #servicemysqlstop #mysqld_safe--skip-grant-tables& #mysqladmin-uuserpassword'newpassword'' #mysqladminflush-privileges 4、mysqld起来了,却无法登录,提示"/vary/lib/mysql/mysql.sock"不存在 这种情况大多数是因为你的mysql是使用rpm方式安装的,它会自动寻找 /vary/lib/mysql/mysql.sock这个文件, 通过unixsocket登录mysql。 常见解决办法如下: 1)创建/修改文件/etc/f,至少增加/修改一行 [mysql] [client] socket=/tmp/mysql.sock #在这里写上你的mysql.sock的正确位置,通常不是在/tmp/下就是在/vary/lib/mysql/下 2)指定IP地址,使用tcp方式连接mysql,而不使用本地sock方式 #mysql-h127.0.0.1-uuser-ppassword 3)为mysql.sock加个连接,比如说实际的mysql.sock在/tmp/下,则 #ln-s/tmp/mysql.sock/vary/lib/mysql/mysql.sock即可 5、导出数据的几种常用方法 1)使用mysqldump #mysqldump-uuser-ppassword-Bdatabase--tablestable1--tablestable2> dump_data_20051206.sql 详细的参数 2)backupto语法 mysql>BACKUPTABLEtbl_name[,tbl_name...]TO'/path/to/backup/directory'; 详细请查看mysql手册 3)mysqlhotcopy #mysqlhotcopydb_name[/path/to/new_directory] 或 #mysqlhotcopydb_name_1...db_name_n/path/to/new_directory 或 #mysqlhotcopydb_name./regex/ 详细请查看mysql手册 4)selectintooutfile 详细请查看mysql手册 5)客户端命令行 #mysql-uuser-ppassword-e"sqlstatements"database>result.txt 以上各种方法中,以mysqldump最常用 6、如何在命令行上执行sql语句 #mysql-uuser-ppassword-e"sqlstatements"database 7、导入备份出来文件的常见方法 1)由mysqldump出来的文件 #mysql-uuser-ppassword[database] 2)文件类型同上,使用source语法 mysql>source/path_to_file/dump.sql; 3)按照一定格式存储的文本文件或csv等文件 #mysqlimport[options]databasefile1[file2....] 详细请查看mysql手册 4)文件类型同上,也可以使用loaddata语法导入 详细请查看mysql手册 4、过滤掉#号打头的行,和所有的空行(对于查看配置文档很有用) awk'/^[^#]/&&/^[^$]/'filename>new.file 7.删除文件大小为零的文件 ram-i`find./-size0` find./-size0-execram{}; find./-size|xargsram-f&非常有效 forfilein*#自己定义需要删除的文件类型 do if[! -s${file}] then ram${file} echo"ram$fileSuccess! " fi done 8.利用现存两个文件,生成一个新的文件 1)取出两个文件的并集(重复的行只保留一份) 2)取出两个文件的交集(只留下同时存在于两个文件中的文件) 3)删除交集,留下其他的行 Acatfile1file2|sort|uniq Bcatfile1file2|sort|uniq-d Ccatfile1file2|sort|uniq-u 6、更改字符集 网站因为迁移改变了原有的字符集,导致前台看到乱码。 如果是少数的几个页可以直接拿到本地用Editplus或者UltraEdit进行另存为时选择字符编码。 现在有一个不用拿到本地的方法,在Linux机器上就能进行。 conv-f 如: 将GB2312转为UTF-8注意: 转成的必须是新的文件名,不然会出错。 /usr/bin/iconv–fGB2312–tUTF-8sourcefile>targetfile [管理与维护] 增加虚拟内存 26.如果SWAP(交换空间)不够了,要增加怎么办? 只要你的硬盘上有空闲的空间,直接用命令: mkswape/dev/hda(假设你的驱动器是/dev/hda),swapon/dev/hda;要自动启动SWAPE,可以把新的分区加到/etc/fstab中去,照着原来SWAP的写就行了。 用“free”检查你SWAP的大小,Linux支持最多16个交换分区,每个交换分区最大128MB,没有空闲分区的时候,可以用个大文件来建立,用命令“manmkswap”查看帮助。 #ddif=/dev/zeroof=swapfilebs=1024count=8192 #mkswapswapfile8192 #sync #swapons
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 维护常用命令 维护 常用命令
![提示](https://static.bdocx.com/images/bang_tan.gif)