Linux 最基本的操作

2年前 (2015-10-01) admin linux 0评论 未收录 1274℃

Linux下怎样查看某一端口是否开放?
netstat -nupl (UDP类型的端口)
netstat -ntpl (TCP类型的端口)

netstat -anp 显示系统端口使用情况

lsof -i :端口 显示占用该端口的进程情况

uname -a 内核信息

cat /proc/interrupts 显示中断信息
1、如何解压cpio.gz文件
解压文件
第一种方法:
zcat oracle.cpio.gz | cpio -idmv

第二种方法 :
第一步:
gunzip oracle.cpio.gz
第二步:
cpio -idmv < oracle.cpio
#cpio -idmv < 文件名.cpio
7zip压缩:7za a -t 7z *.zip 文件

解压:

2、查看端口

nststat -lnp|grep 80

3、启动服务图形界面

ntsysv

4、linux防火墙

1>重启后永久性生效

chkconfig iptables on

chkconfig iptables off

2>及时生效,重启后消失

service iptables start

service iptables stop

3>chkconfig --level 35 iptables off;

chkconfig --level 35 iptables on

4>/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT (开启80端口)

/etc/init.d/iptables save 保存设置
--------------------------------------------------------------------------
iptables -F INPUT(不指定表名时默认清空filter表)
iptables -t nat -F (清空nat 表)
iptables -t raw -X (清空raw表中用户自定义的所有规则链)

--------------------------------------------------------------------------

5、selinux

1>图形界面

系统-->管理-->安全级别和防火墙

2>修改命令

vim /etc/selinux/config 设

SELINUX=disable

3>运行setup进入防火墙配置,在selinux栏选择禁用

4>setenforce 0 (不需要重启)

6、查看linux开启了哪些服务

chkconfig --list

7、查询linux外网IP
1>curl http://iframe.ip138.com/ic.asp
2>curl ifconfig.me
3>curl -s http://whatismyip.org
wget http://whatismyip.org 然后再 cat index.html 也可以看到

8、查看系统版本

-->cat /issue

-->lsb_release -id

-->lsb_release -a

-->cat /etc/redhat-release

9、Linux 用find命令查找文件大小为XX的文件的办法

例如:一个文件5556字节,可以这样写

find /root -size -5557c -size +5555c -exec ls -ld {} \;

即查找大于5555字节小于5557字节的文件,以上查找的是/root 目录

find / -size -size +50M -exec ls -ld {} \;

查找 小于500K,大于50K的文件

比如要查找磁盘中大于3M的文件:
find . -size +3000k -exec ls -ld {} ;

1)在/tmp中查找所有的*.h,并在这些文件中查找“SYSCALL_VECTOR",最后打印出所有包含"SYSCALL_VECTOR"的文件名 A) find /tmp -name "*.h" | xargs -n50 grep SYSCALL_VECTOR
B) grep SYSCALL_VECTOR /tmp/*.h | cut -d':' -f1| uniq > filename
C) find /tmp -name "*.h" -exec grep "SYSCALL_VECTOR" {} \; -print
2)find / -name filename -exec rm -rf {} \;
find / -name filename -ok rm -rf {} \;
3)比如要查找磁盘中大于3M的文件:
find . -size +3000k -exec ls -ld {} ;
4)将find出来的东西拷到另一个地方
find *.c -exec cp '{}' /tmp ';' 如果有特殊文件,可以用cpio,也可以用这样的语法:
find dir -name filename -print | cpio -pdv newdir
6)查找2004-11-30 16:36:37时更改过的文件
# A=`find ./ -name "*php"` | ls -l --full-time $A 2>/dev/null | grep "2004-11-30 16:36:37

----------------------------------------------------------------
10、linux 命令如何查找隐藏文件?

linux 命令如何查找隐藏文件-命令:
find /path/to/target -name ".?*"

举一反三:
linux 命令如何忽略查找隐藏文件-命令:
find /path/to/target ! -name ".?*"
11、修改linux时间

例1:用指定的格式显示时间。
$ date '+This date now is =>%x ,time is now =>%X ,thank you !'
This date now is =>11/12/99 ,time is now =>17:53:01,thank you !
例2:用预定的格式显示当前的时间。
# date
Fri Nov 26 15:20:18 CST 1999
例3:设置时间为下午14点36分。
# date -s 14:36:00
Fri Nov 26 14:15:00 CST 1999
例4:设置时间为1999年11月28号。
# date -s 991128
Sun Nov 28 00:00:00 CST 1999
实例:设置时间伟2008年8月8号12:00
# date -s "2008-08-08 12:00:00"
修改完后,记得执行clock -w,把系统时间写入CMOS
12、结束其它用户进程

-->pkill -kill -t pts/2

音乐、电影
mplayer
用man mplayer来看帮助

网页
lynx
links
w3m
浏览器你每个都试试,喜欢哪个就用那个
13、查看硬盘读写速度

-->hdparm -t /dev/hda 查看硬盘读写速度
开启DMA功能

-->hdparm -d 1 /dev/hda 开启DMA功能,可把它添加到/etc/rc.local文件中

14、查看系统是否开启虚拟化

-->grep -E 'svm|vmx' /proc/cpuinfo

或:

-->egrep -o "(vmx|svm)" /proc/cpuinfo
15、查看模块安装位置:

-->modprobe -l |grep -i drbd #查找drbd模块安装位置
16、释放内存

-->sync

-->echo 3 > /proc/sys/vm/drop_caches

-->free -m #查看释放后的内存

17、查看内核相关参数

--> ulimit -a
18、关闭networkmanager服务

-->service NetworkManager stop

。查看NetworkManager运行级别

-->chkconfig |grep NetworkManager

-->chkconfig NetworkManager off
19、centos7将网卡名字改成eth样式
1>打开/etc/sysconfig/grub,
# vim /etc/sysconfig/grub
内容如下:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

2>修改上面内容中的GRUB_CMDLINE_LINUX的值,增加net.ifnames=0 biosdevname=0
# vim /etc/sysconfig/grub
修改后的内容如下:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 net.ifnames=0 biosdevname=0 rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

3>执行:grub2-mkconfig -o /boot/grub2/grub.cfg

然后,重启系统,网卡名字就变成eht0了

20、查看磁盘是否格式化

blkid 显示格式化过的分区

fdisk -l显示所有分区

对比可知

21、查看文件或文件属性

stat /home #目录或文件

22、重启网卡报错

“弹出界面:eth0: Determining if ip address 192.168.0.214 is already in use for device eth0...”

解决方法:凡是提示有这个报错的网卡都要改:

vim ifcfg-eth0,在最后添加参数:

ARPCHECK=no

报错:Bringing up interface eth3: Error, some other host already uses address 192.168.1.102.
解决方法如下:

vim /etc/sysconfig/network-scripts/ifup-eth

注解掉下面的几行内容,然后再执行service network restart

#if ! /sbin/arping -q -c 2 -w 3 -D -I ${REALDEVICE} ${IPADDR} ; then
# echo {1}quot;Error, some other host already uses address ${IPADDR}."
# exit 1
#fi
(备注:可以在vim编辑器中使用“/arping”之类的关键词快速定位)

23、中断telnet

ctrl + ] -->quit 退出
24、删除路由中网关

--># route del default gw 192.168.0.12
25、解决 You could try using --skip-broken to work around the problem

yum clean all
rpm --rebuilddb
yum update
或者换一个yum源
删掉原来的需要的包,重新安装

26、报错:Give root password for maintenance (or type Control-D tocontinue): 尝试过程:

采用第2种方法解决

1。按下Ctrl+D键,系统重启,并再次回到该界面。
2。输入root密码,进入如下命令行:
(Repair filesystem) 1 #mount -o remount,rw /
(Repair filesystem) 1 #vi /etc/fstab
删除相应报错的内容,比如我的报错信息是fsck.ext3: Unable to resolve 'LABEL=/home',删除相应行,重启即可。
mount –o loop –t iso9660 CentOS-6.0-i386-bin-DVD.iso
mount /dev/cdrom /media/cdrom

27、查看到可用的设备号

dmesg命令(device message)
28、添加虚拟磁盘后不重启生效

echo '- - -' > /sys/class/scsi_host/host0/scan
29、添加模块

apxs -c -n -a -i /home/httpd-2.2.15/modules/mod_proxy.so
apxs -c -n -a -i /home/httpd-2.2.15/modules/mod_proxy_connect.so
apxs -c -n -a -i /home/httpd-2.2.15/modules/mod_proxy_http.so
apxs -c -n -a -i /home/httpd-2.2.15/modules/mod_proxy_ftp.so
apxs -c -n -a -i /usr/local/apache2/modules/mod_proxy.so
apxs -c -n -a -i /usr/local/apache2/modules/mod_proxy_connect.so
apxs -c -n -a -i /usr/local/apache2/modules/mod_proxy_http.so
apxs -c -n -a -i /usr/local/apache2/modules/mod_proxy_ftp.so

gcc -shared -o /home/httpd-2.2.15/modules/mod_proxy.so /usr/local/apache2/modules/mod_proxy.so

gcc -shared -o /home/httpd-2.2.15/modules/mod_proxy_connect.so /usr/local/apache2/modules/mod_proxy_connect.so

gcc -shared -o /home/httpd-2.2.15/modules/mod_proxy_http.so /usr/local/apache2/modules/mod_proxy_http.so

gcc -shared -o /home/httpd-2.2.15/modules/mod_proxy_ftp.so /usr/local/apache2/modules/mod_proxy_ftp.so

30、 Linux cp 实现强行覆盖 2011-06-03 17:17:03

发现在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能强行覆盖的,这时怎么回事的呢?一两个文件还好说,就输几个yes吧,但是要是n多文件怎么办,那还不输死人呢?下面提供三种解决办法。
方法一
我们输入alias命令,看看系统给cp起了一个什么别名。
[root@localhost ~]# alias
alias cp=’cp -i’
alias l.=’ls -d .* –color=auto’
alias ll=’ls -l –color=auto’
alias ls=’ls –color=auto’
alias mv=’mv -i’
alias rm=’rm -i’
alias which=’alias | /usr/bin/which –tty-only –read-alias –show-dot –show-tilde’
然后[root@localhost ~]# man cp
看看-i什么意思
-i, –interactive prompt before overwrite
原来在覆盖之前会提示,那我们的解决办法也出来了,用unalias cp来解除cp的别名,还原纯净的cp。
[root@localhost ~]#unaslias cp (这只是临时取消cp的别名,不是永久的)
[root@localhost ~]#cp -fr src dest 这下就行了,就不会提示覆盖了。
方法二
输入\cp命令,作用也是取消cp的别名。
[root@localhost ~]#\cp -fr src dest
方法三
输入yes|cp -fr src dest,使用管道自动输入yes。
[root@localhost ~]#yes | cp cp -fr src dest 让管道自动输入一大堆得yes,就可以完成了强行复制了。
那有人会问dos的copy命令怎么实现强行复制的呢?答案是
用来 xcopy /y src dest 来实现强行复制。

31、挂载光盘

-->mount -t iso9660 /dev/cdrom /mnt/cdrom
32、linux禁止ping

LINUX下禁止ping命令的使用

以root进入Linux系统,然后编辑文件icmp_echo_ignore_all
vi /proc/sys/net/ipv4/icmp_echo_ignore_all
将其值改为1后为禁止PING
将其值改为0后为解除禁止PING

直接修改会提示错误:

WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?y
"icmp_echo_ignore_all" E667: Fsync failed
Hit ENTER or type command to continue

这是因为 proc/sys/net/ipv4/icmp_echo_ignore_all
这个不是真实的文件
如果想修改他的数值可以echo 0 或 1到这个文件

(即echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all )。要是想永久更改可以加一行

net.ipv4.icmp_echo_ignore_all=1
到配置文件/etc/sysctl.conf里面
33、挂载虚拟文件

-->mount -o loop /xvdb.boot /mnt/xvdb

34、替换脚本内容

方法1:
sed -i 's/被替换的内容/要替换成的内容/' file

方法2:
sed 's/被替换的内容/要替换成的内容/g' file > file.out
mv file.out file

这里注意:
不能这样做:
sed 's/被替换的内容/要替换成的内容/g' file > file
这样只会清空源文件。
35、查找多个文件中的字符串

find ./* -type f -name "*.xml"|xargs grep "192.168."
================================================================================
# find <directory> -type f -name "*.c" | xargs grep "<strings>"

<directory>是你要找的文件夹;如果是当前文件夹可以省略
-type f 说明,只找文件
-name "*.c" 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件
<strings>是你要找的某个字符串

sudo find -type f -name '*'|xargs grep 'ssi on'
36、删除N天以前的目录文件
#!/bin/bash

find /oraclebackup/backup/data/cmshb3 -mtime +3 -name "*.dmp.gz" -exec rm -rf {} \;

find /oraclebackup/backup/logs/cmshb3 -mtime +3 -name "*.log" -exec rm -rf {} \;
find ${target_path} -mtime +1 -name "*.zip" -exec rm -rf {} \;

37、报错: error while loading shared libraries: libpcre.so.0的解决办法

error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory
解决方法:

wget http://mirror.centos.org/centos/6/os/x86_64/Packages/pcre-7.8-6.el6.x86_64.rpm
rpm -ivh pcre-7.8-6.el6.x86_64.rpm

或者直接: yum install pcre -y
38、 7z格式解压缩

1)压缩:

实例压缩a.txt b.txt 为 c.7z

-->7za a c.7z a.txt b.txt

2)解压c.7z

-->7za x /home/c.7z -o /home/www/c #解压c.7z到/home/www目录下创建的c目录
39、查看top翻页显示

-->top | more

40、iptables
-->vim /etc/sys

iptables -F //清空规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT /*允许包从22端口进入*/
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT /*允许从22端口进入的包返回*/
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /*允许本机访问本机*/
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT /*允许所有IP访问80端口*/
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables-save > /etc/sysconfig/iptables /*保存配置或者使用命令 service iptables save */
iptables -L

上面的80和22可以简写成:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

禁止192.168.0.7连接memcached
iptables -A INPUT -s 192.168.0.7 -p tcp --dport 11211 -j DROP

只允许指定ip访问指定的端口
iptables -A INPUT -s 74.82.164.142 -p tcp --dport 9306 -j ACCEPT
iptables -A INPUT -p tcp --dport 9306 -j DROP # 如果在iptables表最下面有一条拒绝所有规则以外的规则的话,则这行不用写。

/etc/rc.d/init.d/iptables save
centos 5.3,5.4以上的版本需要用
service iptables save
------------------------------

41、查看端口连接数

linux下非常简单
netstat -pnt |grep :80 |wc -l
显示多少就是有多少个链接

windows下
netstat -ano
这样可以显示全部,但是不知道怎么统计了
42 、释放空间

-->df -hT

-->df -i

-->lsof |grep delete

-->echo " " > /tmp/....

-->lsof |grep delete | xargs rm -rf

-->lsof |grep del|awk '{print $2}' |xargs kill -9

inode占用空间

。查看某个磁盘分区inode的总数

-->du -i

-->dumpe2fs -h /dev/sda3 |grep "Inode count'

。查看文件对应的inode号

-->ls -i install.log

-->stat install.log

删除inode占用的空间

-->find /var/ -name "*" -exec rm -rf {} \;
43、Determining if ip address 192.... is already in user for device eth2

-->vim/ etc/sysconfig/network-scripts/ifcfg-eth0

ARPCHECK=no

报错:CentOS Linux解决Device eth0 does not seem to be present
解决方法:

44、查看密码修改日志:

-->vim /var/log/secure

如果想知道谁改了系统密码,很简单。
只要先cp /etc/shadow ~/shadow.bak文件,过段时间比较下备份和现在的shadow文件。
cut -d: -f1-2 /etc/shadow >/tmp/1
cut -d: -f1-2 ~/shadow.bak >/tmp/2
diff /tmp/1 /tmp/2
如果有输出,那么冒号前面的那个就是改过密码的用户名了
45、按时间显示linux历史命令

让Linux的history显示时间 (2011-04-17 03:13:05)转载▼
标签: it
如何让linux的history命令显示时间记录
注意:本方法只对bash-3.0以上版本有效
执行rpm -q bash即可显示bash的版本
对于常见的linux AS4、AS5,都是有效的
---------------------------------------------
编辑/etc/bashrc文件,加入如下三行:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M%S: "
export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录
这个时候,在~/.bash_history文件中,就有记录命令执行的时间了
用cat命令显示这个文件,但是却会看到这个时间不是年月日显示的
而是按照unix time来显示:
[root@vz ~]# cat ~/.bash_history
46、Linux 更改用户名不像Windows 重命名那么简单

vi /etc/passwd
按i键进入编辑状态
修改第1行第1个root为新的用户名
按esc键退出编辑状态,并输入:x保存并退出
vi /etc/shadow
按i键进入编辑状态
修改第1行第1个root为新的用户名
按esc键退出编辑状态,并输入:x!强制保存并退出
用root用户登录,vi /etc/passwd命令来编辑passwd文件,对应的root哪一行修改用户名,
再vi /etc/shadow命令修改root的用户名
进行如下的操作成功修改了root帐户的登录用户名:

vi /etc/passwd
按i键进入编辑状态
修改第1行第1个root为新的用户名
按esc键退出编辑状态,并输入:x保存并退出
vi /etc/shadow
按i键进入编辑状态
修改第1行第1个root为新的用户名
按esc键退出编辑状态,并输入:x!强制保存并退出
补充:为了正常使用sudo,需要修改/etc/sudoers的设置,修改方法如下

运行visudo
找到root ALL=(ALL) ALL
在下面添加一行:新用户名 ALL=(ALL) ALL
:x保存退出

首先你要知道在Linux中创建了一个用户,除了生成UID外还会有一个GID,
当你对原用户名修改后,别忘了对GID也进行更新。

修改用户名:
以root身份登录,然后使用下列命令进行修改
usermod -l NewUser -d /home/NewUser -m OldUser
-l 修改用户名
-d 修改登录后使用的路径
-m 修改登录名称的同时将目录名称一同修改

修改组名称:
继上面操作后,继续执行下列命令
groupmod -n NewUser OldName
-n 修改组的名称
47、报错
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:

解决方法;

错误的解决方法(很多就在提示里面):
#1 手动处理重复
这个是要死人的
#2 删除重复的
这个有时候会导致已经编译和安装的软件出问题,所以还是要有心理准备
#3 自动删除重复命令
package-cleanup --cleandupes
这个也会导致#2 的问题
#4 在yum命令后面加入忽略参数:--setopt=protected_multilib=false

48、解决linux下shell显示-bash-4.1#不显示路径解决方法

如果哪个用户显示这种格式就在哪个用户先操作如下命令

-->vim ~/.bash_profile #如果没有这个文件,直接用此方法创建

内容为:

[plain]
export PS1='[\u@\h\W]\$'

最后执行:

-->source ~/.bash_profile

48、wget下载一个目录

wget -c -r -nd -np -k -L -p -A c,h www.xxx.org/pub/path/

-c 断点续传
-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录
-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/
没有加参数-np,就会同时下载path的上一级目录pub下的其它文件
-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
-L 递归时不进入其它主机,如wget -c -r www.xxx.org/ 如果网站内有一个这样的链接:
www.yyy.org,不加参数-L,就会像大火烧山一样,会递归下载www.yyy.org网站
-p 下载网页所需的所有文件,如图片等
-A 指定要下载的文件样式列表,多个样式用逗号分隔
49、linux查看CPU类型和内存大小命令 2013-04-16 15:26:04

1。如何查看CPU类型以及相关特性?
方法一:Linux下CPU相关的参数保存在/proc/cpuinfo文件里,查看文件内容,即可知道CPU相关的技术参数。
方法二:采用命令dmesg|grep CPU可以查看到相关CPU的启动信息查看CPU的位数可以这样getconf LONG_BIT,不是32位就是64位了:)
2。如何查看内存大小以及使用情况?
方法一:直接查看/proc/meminfo文件
方法二:使用free-m命令查看,如下:[root@miix proc]
#free-m total used free shared buffers cached Mem:748 738 90 121 304-/ buffers/cache:313 435 Swap:768 0768
可以看到总内存为748M,使用了738M,空闲9M,交换空间768M还没使用。其实我的物理内存是768M的,一些内存和显卡共享了。
方法三:使用top命令也可以看到实时的内存使用情况。
3。如何查看硬盘型号以及相关参数?方法一:fdisk-l可以看到系统上的磁盘(包括U盘)的分区以及大小相关信息。
方法二:直接查看/proc/partitions文件。方法三:通过命令hdparm-i/dev/hda获取硬盘详细物理参数
4。如何查看网卡相关信息?方法一:ethtool eth0采用此命令可以查看到网卡相关的技术指标(本人测试过不一定
所有网卡都支持此命令)ethtool-i eth1加上-i参数查看网卡驱动可以尝试其它参数查看网卡相关技术参数
方法二:也可以通过dmesg|grep eth0等看到网卡名字(厂家)等信息通过
查看/etc/sysconfig/network-.s/ifcfg-eth0可以看到当前的网卡配置包括IP、网关地址等信息。当然也可以通过ifconfig命令查看。
5。如何查看USB设备相关信息?方法一:其实通过fdisk-l命令可以查看到接入的
U盘信息,本人的U盘信息如下:Disk/dev/sda:2012 MB,2012217344 bytes 16 heads,32 sectors/track,
7676 cylinders Units=cylinders of 512*512=262144 bytes Device Boot Start End Blocks
Id System/dev/sda1*16 7676 1961024 bW95 FAT32 U盘的设备文件是/dev/sda,2G大小,FAT32格式。
如果用户登陆的不是Linux图形界面,U盘不会自动挂载上来。此时可以通过手工挂载(mount):
mount/dev/sda1 mount_point以上命令将U盘挂载到当前目录的mount_point目录,注意挂的是sda1不是sda。
卸载命令是umount mount_point Linux默认没有自带支持NTFS格式磁盘的驱动,但对FAT32支持良好,挂载的
时候一般不需要-t vfat参数。如果支持ntfs,对ntfs格式的磁盘分区应使用-t ntfs参数。如果出现乱码情况,
可以考虑用-o iocharset=字符集参数。可以通过lsusb命令查看USB设备信息哦:[root@miix tmp]#lsusb Bus
001 Device 001:ID 0000:0000 Bus 002 Device 001:ID 0000:0000 Bus 003 Device 001:ID 0000:0000
Bus 004 Device 002:ID 0951:1613 Kingston Technology Bus 004 Device 001:ID 0000:0000
6。如何查看光盘相关信息?方法一:插入CD光碟后,在本人的RHEL5系统里,光碟文件是/dev/cdrom,
因此只需mount/dev/cdrom mount_point即可。[root@miix tmp]#mount/dev/cdrom mount_point mount:
block device/dev/cdrom is write-protected,mounting read-only其实仔细看一下,光驱的设备文件是
hdc[root@miix tmp]#ls-l/dev/cdrom*lrwxrwxrwx 1root root 301-08 08:54/dev/cdrom-hdc lrwxrwxrwx
1root root 301-08 08:54/dev/cdrom-hdc-hdc因此我们也可以这样mount/dev/hdc mount_point如果光驱里
没放入有效光盘,则报错:[root@miix tmp]#mount/dev/hdc mount_point mount:找不到介质
7。如何挂载ISO文件?方法:mount-o loop*.iso mount_point 8。如何查看主板信息?使用命令lspci即可
50、(hd0,x)和sdaX的表示方法
问:grub里面的命令有的一句里面有(hd0,x),还有sdax,为什么要用两种表示方法?
答:一块硬盘最多只能有四个主分区。其中一个可以为扩展分区(主分区的特殊形式),扩展分区中可以有60个逻辑分区。linux表示分区,与顺序和类型有关。

/dev/sda1为第一主分区
/dev/sda2为第二主分区
/dev/sda3为第三主分区
/dev/sda4为第四主分区
/dev/sda5为第一逻辑分区
/dev/sda6为第二逻辑分区
……
不管有几个主分区,逻辑分区都是从/dev/sda5开始的。也就是说,第一个逻辑分区是/dev/sda5。
而四个主分区,可能只有一个,或二个。而且不一定是从/dev/sda1开始的。

一般以前的DOS和windows系统(2000/XP/2003,不包括windows7),使用自带的分区工具,只能分一个主分区和一个扩展分区
(内含多个逻辑分区)所以,默认情况下(不是一定,可以改变的),C盘为/dev/sda1,D盘为/dev/sda5,E盘为/dev/sda6……

其中/dev/sda为第一块硬盘
/dev/sdb为第二块硬盘(如果有的话),分区表示法后面的数字一样。

grub是linux系统的启动管理器,也是根据分区顺序表示,但有不同。是以0开始的,不是以1开始的。
(hd0,0)为第一主分区
(hd0,1)为第二主分区
(hd0,4)为第一逻辑分区(通常为D盘)
(hd0,5)为第二个逻辑争区(通常为E盘)
……
(hd0)为第一个硬盘
(hd1)为第二个硬盘

grub2是新的启动管理器,表示方法与grub有些微妙但很重要的不同
(hd0,1)为第一主分区
(hd0,2)为第二主分区
(hd0,5)为第一逻辑分区(通常为D盘)
(hd0,6)为第二个逻辑争区(通常为E盘)
……
(hd0)为第一个硬盘
(hd1)为第二个硬盘
注意,grub与grub2表示的分区方法不同
51、查看linux UUID

-->/sbin/blkid -s UUID

修复模式查看

-->/mnt/sysimage/sbin/blkid -s UUID

52、如何kill一个 defunct 进程

有时候用kill -9 pid 任然无法杀死一个defunct进程。
此时我们可以使用命令 ps -xal 显示defunct 进程的父进程,然后kill这个父进程就可以解决了。
-->PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

2946 root 20 0 1839m 218m 12m S 0.3 11.7 0:14.81 java

-->ps -xal|grep 2946

Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
0 0 2946 1 20 0 1884032 223936 futex_ Sl ? 0:14 /usr/bin/java -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Dcom.sun.management.jmxremote -Djava.io.tmpdir=/usr/local/activemq-5.8.0/tmp -Dactivemq.classpath=/usr/local/activemq-5.8.0/conf; -Dactivemq.home=/usr/local/activemq-5.8.0 -Dactivemq.base=/usr/local/activemq-5.8.0 -Dactivemq.conf=/usr/local/activemq-5.8.0/conf -Dactivemq.data=/usr/local/activemq-5.8.0/data -jar /usr/local/activemq-5.8.0/bin/activemq.jar start
0 0 3795 3744 20 0 103248 844 pipe_w S+ pts/0 0:00 grep 2946

-->pgrep -P 父进程
-->kill

kill多个进程:

kill -9 $(ps -ef|grep -E 'aprogram|bprogram|c'|grep -v grep|awk '{print $2}')
如何查找僵尸进程并Kill之,杀不掉的要查看父进程并杀之

用ps和grep命令寻找僵尸进程
#ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

命令注解:
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数

因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程

运行结果参考如下

Z 12334 12339 /path/cmd

这时,我们可以使用

kill -HUP 12339 来杀掉这个僵尸进程
运行后,可以再次运行

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' 来确认是否已经将僵尸进程杀死
如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,

例如上面例子父进程pid是 12334,那么我们就运行
#kill -HUP 12334
来解决问题
53、yum 安装软件报 Freeing read locks for locker
因为之前更改了yum源,这次做更新的时候不知什么原因 报Freeing read locks for locker

解决:yum clean all

又报Thread died in Berkeley DB library

解决: rm -fr /var/lib/rpm/__db.*

自己整还是不靠谱,下面看网友给我的 确实解决了问题

二、分析原因

因为RPM数据库出现损坏导致的,它导致所有的软件的升级、安装甚至是删除都会出现问题,
终端出现乱码,YUMEX也用不成,RPM命令 也用不成。原因是RPM数据库被破坏

三、解决方法
su – root
cd /var/lib/rpm/
for i in `ls | grep ‘db.’`;do mv $i $i.bak;done #做一下备份
rpm –rebuilddb #重建该数据库(rebuild the database indices from the installed package headers)
yum clean all

-->yum makecache

注意区别:–rebuilddb:重建已经安装的RPM资料库 ,–initdb:创建一个新的RPM资料库
4、错误:

CentOS 6系统中关闭ipv6报错: module off not found的解决办法

Centos 6 关闭ipv6 在 /etc/modprobe.d/dist.conf增加如下内容

此步可以禁止ipv6,但重启网络会提示报错FATAL: Module off not found.

解决方法如下:

1. vim /etc/modprobe.d/dist.conf

alias net-pf-10 off
options ipv6 disable=1
alias ipv6 off 替换成 options ipv6 disable=1

2.

-->vim /etc/sysconfig/network 新增如下一行

NETWORKING_IPV6=off

3. 关闭iptables的ipv6

-->chkconfig ip6tables off

54、vi字符串替换

-->sed -i "s,192.168.56.101,192.168.56.180,g" localrc

或:

按"ESC"键,输入: :%s,192.168.56.101,192.168.56.180,g
55、根据进程查询端口号

-->ps -ef|grep pptpd

root 31361 1 0 23:09 ? ...

-->netstat -anlp|grep 31361

tcp 0 0.0.0.0.0:1723 #1723即为pptod端口号

56、网络不通解决方法

#vi /etc/sysconfig/network-scrips/ifcfg-eth0
删除HWADDR一行

#cd /etc/udev/rules.d
#rm -rf *-net.rules
#shutdown -r now or #reboot
然后重新设置IP,网关,DNS等
57、修改网卡名称:

关于CentOS 6.X下修改网卡名称有三种方法:
法1:
修改UDEV文件,删除里面的内容;用命令,重新定义名字,两个名字都要改;
法2:
在centos6中,可以直接使用setup,设置一块新网卡,填上eth1、ip等内容。
在 CentOS 6 中,默认的 kudzu 这个识别硬件的服务不存在了,基本上所有的硬件管理都通过 Udev 来管理了。
如果在 Centos 6 中加了一个新的硬件,如网卡只需要重新启动 udev 就行了。
start_udev
它会重新扫描新加的硬件并做相关的处理。
如果新加的是网卡,识别不对和有时想更新网卡的名字,并不需要编辑 /etc/sysconfig/network-scripts/下的内容,向上面运行完后不正常,直接修改 udev 有关网络的配置即可。
有关网络的 udev 的具体网卡序号的配置文件是 /etc/udev/rules.d/70-persistent-net.rules 这个文件。
大概内容如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:78:e8:2e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" # PCI device
0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:04:19:6c", ATTR{type}=="1", KERNEL=="eth*",
NAME="eth0"
参照以上内容,最多修改一下 MAC 地址和 NAME 即可。
修改完成后,使用 udev 的命令测试下:
udevadm test /sys/class/net/eth0/
此命令可以很详细的显示 udev 的识别和处理的过程。
注意:
新添加的硬件,如果在 setup 和 system-config-network-tui中添加了网卡,但 /etc/sysconfig/network-scripts/ 找不到配置文件时。
是因为这些命令默认会将生成的配置文件放到/etc/sysconfig/networking/devices/,只要将下面的二个配置文件放到 /etc/sysconfig/network-scripts/,再使用
system-config-network-tui进行配置即可。
复制代码 代码示例:cp /etc/sysconfig/networking/devices/* /etc/sysconfig/network-scripts/
然后重新启动后就可以生效了。
法3:
1、在grub里增加biosdevname=0的启动参数,形如
kernel /vmlinuz-2.6.32-131.21.1.el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_LVM_LV=vg_test/lv_root rd_LVM_LV=vg_test/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latar
cyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet biosdevname=0
2、删除udev的配置文件rm -f /etc/udev/rules.d/70-persistent-net.rules
3、把网卡配置文件改名
mv ifcfg-em1 ifcfg-eth0
4、把网卡配置文件内容修正,把em1的全部改成eth0
可以使用 perl -p -i -e 's/em1/eth0/g' ifcfg-eth0 或sed -i 's/em1/eth0/g' ifcfg-eth0 进行替换。
5、重启系统即可

58、查看系统版本

-->cat /etc/redhat-release

-->cat /etc/issue

59、centos7解决中文乱码问题

[root@localhost ~]# cat /etc/locale.conf
LANG=en_US.UTF-8
[root@localhost ~]# cp /etc/locale.conf /etc/locale.conf_bak
[root@localhost ~]# vim /etc/locale.conf

LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

需要:perl(DBI)
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest

yum install MariaDB-server MariaDB-client
yum install MariaDB-client-10.0.20-1.el7.centos.x86_64 MariaDB-server-10.0.20-1.el7.centos.x86_64 -y

博主

让学习成为习惯,坚持-共享-开源-自由! 成功者决不放弃,放弃者绝不成功!

相关推荐

嗨、骚年、快来消灭0回复。