linux实用命令笔记

touch 创建文件  touch 目录/文件名    文件名最好不要空格


cat 显示文件内容   $cat /etc/issue    $cat -n /etc/issue (显示行号)

tac /etc/issue  (倒着显示)

more 分页显示文件内容  more /etc/issue   f 翻页 enter换行  q 退出


less  分页显示文件内容 (可向上翻页)  pgup 向上翻页  
/搜索关键词  搜索功能    n next跳到下一个


head 显示文件前面几行  head -n 20 /etc/services   默认10行
  
tail 显示文件后面几行  tail -n 18 /etc/services 
-n 指定行数 -f动态显示文件末尾内容


命令格式:
命令 [-选项] [参数]

ls  显示目录文件  -a -l  -lh   -ld(显示目录本身)  -i

-rw-r--r--    (-二进制文件 d目录 l软链接文件)
u   g   o
所有者 所属组 其他人   

mkdir 创建新目录 
-p 递归创建

cd 切换目录
cd ..   回到上一级目录   .表示当前目录

pwd 显示当前目录

/rmdir  删除空目录  rmdir /tmp/test

cp 复制文件或者目录
-r 复制目录  -p 保留文件属性

mv 剪切文件、改名

rm 删除文件 
-r 删除目录 -f 强制执行

Ctrl+c 终止命令操作

ln  -s 软链接 
软链接特征:类似Windows快捷方式
硬链接特征:1.同步更新对源文件(复制)2.源文件丢失,硬链接依然可以访问

chmod 改变文件或目录权限


who -b 查看最后一次系统启动的时间。

      who -r 查看当前系统运行时间

 一.Linux下开启/关闭防火墙命令

1) 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off
s2) 即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在当开启了防火墙时,做如下设置,开启相关端口,

修改/etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

linux安装软件包建议使用命令rpm -ivh Name.rpm 安装包一般都在光盘内

rpm -qa |grep  sz   和 rpm  -qa |grep rz  命令查看是否安装该程序

如果没有安装,可以输入 yum -install sz   yum -install rz命令进行安装

rz   r就是receive   linux服务器接收。 也就是 windows上传文件

sz   Send    linux服务器发送。 也就是 windows下载文件

SecureCRT,具体的更改 rz上传/sz下载 的默认的路径的方法:
右键点击当前会话session -> Session Options -> Terminal -> Xmodem/Zmodem ->Directories :

Upload : 你要设置的路径

Download:你要设置的路径

sz filename   eg:sz slow.log


输入"uname -a ",可显示电脑以及操作系统的相关信息。
输入"cat /proc/version",说明正在运行的内核版本。
输入"cat /etc/issue", 显示的是发行版本信息

找到光盘的完整路径名。在命令行输入:ls -l /dev | grep cdrom

可以看到光盘的名字叫做:cdrom1。然后在命令行执行: mount /dev/cdrom1 /mnt/。这会把光盘挂载到/mnt目录下。然后我们就可以通过访问/mnt来访问光盘。

比如我们要从光盘中拷贝出来一个rpm包。首先在命令行输入:cd /mnt。然后输入ll。就列出了光盘里面的所有的内容。

进入到Packages目录,在命令行输入:cd Packages。然后输入:ls -l | grep mysql。找到我们要拷贝出来的rpm包。

使用完毕以后,要记得卸载光盘。在命令行输入:umount /mnt。然后再进入/mnt目录就看不到光盘的内容了,说明已经成功卸载。


rpm -q gcc make binutils openmotif setarch compat-db compat-gcc 
rpm -q compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel

 
那要怎麼找出是哪个程式挂在那个目录上?可以使用 fuser -m /media/share

要把这个资源释放的话, 可以有下述做法:

kill -9 25023 # ps aux | grep 25023 应该就会看到它
fuser -m -v -i -k /media/share # 会问你是不是要把 25023 这个 kill 掉, 选 y 就会 kill 掉


rpm -qa|grep yum

mount /dev/cdrom /mnt

可通过rpm -qa | grep glibc查看系统目前安装了哪些和glibc有关的包

如果想进一步查看,可通过rpm -qi glibc

解压命令是:unzip filename.zip 同样也提供了一个zip程序压缩zip文件,命令是 zip filename.zip files 


vim /etc/sysconfig/network-scripts/ifcfg-eth0    //(某些版本中可能没有vim这个编辑器比如centos,大家可能用vi替换)
IPADDR=192.168.1.102  //添加IP地址
NETMASK=255.255.255.0 //掩码
GATEWAY=192.168.1.1 //添加网关

修改dns
vim /etc/resolv.conf
修改后可即时生效,启动同样有效

修改host name
启动生效:
vim /etc/sysconfig/network
形式如下:
NETWORKING=yes
HOSTNAME=rh-linux.fc.org

CentOS系统更换软件安装源
第一步:备份你的原镜像文件,以免出错后可以恢复。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
第二步:下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
第三步:运行yum makecache生成缓存
yum clean all
yum makecache

用户删除命令:
userdel


lsnrctl start/stop 开启、关闭监听

oracle网络配置
三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下

show parameter local_listener
alter system set local_listener = 'ORCL';

改主机名
vi /etc/sysconfig/network   
vi /etc/hosts
在提示符下输入reboot命令,重新启动服务器

scp   把当前一个文件copy到远程另外一台主机上

linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹

cp报错:not a regular file
原因是 这样是相当于下载文件夹,而非文件。
解决办法是 加参数 -r 
scp -r liujia@172.16.252.32:/user/liujia/ /home/liujia   (从远程复制到本地,ip在前为远程)


ps -ef|grep tns

系统版本
        cat /etc/issue  //查看linux的版本信息
        lsb_release -a  //查看LSB本身的版本信息
        uname -r                 //Kernel版本


1.列出所有可更新的软件清单
命令:yum check-update

2.安装所有更新软件
命令:yum update

3.仅安装指定的软件
命令:yum install

4.仅更新指定的软件
命令:yum update

5.列出所有可安裝的软件清单
命令:yum list

6.查看是否安装了指定的包
yum list installed|grep mysql

7.卸载yum包
yum remove package_name

怎么查看运行级别
查看当前的运行级别,打开linux终端窗口之后,输入如下命令:runlevel 即可查看

如果需要修改系统默认的运行级别,可以用VI编辑 /etc/inittab 文件设置。如下图 default 后面的数字就是默认的运行级别啦
改好之后,重启Linux系统之后生效。

开机启动
chkconfig --list http    显示目前各项服务状态
单独开启某一服务的命令 ;chkconfig 服务名 on      chkconfig httpd on
单独关闭某一服务的命令;chkconfig 服务名 off
设置完成之后,重启一下即可


1. ps 命令用于查看当前正在运行的进程。
grep 是搜索
例如: ps -ef | grep java
表示查看所有进程里 CMD 是 java 的进程信息
ps -aux | grep java
-aux 显示所有状态
ps
2. kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止
通常用 ps 查看进程 PID ,用 kill 命令终止进程 ,第一个数字为PID


[root@testhost ~]# iostat
-bash: iostat: command not found

在系统观盘中找到sysstat包,然后使用下面的命令安装,sysstat包中包括iostat,mpstat,sar,sa
[root@testhost ~]# rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm 

[root@testhost ~]# iostat
Linux 2.6.18-194.el5 (testhost)        09/08/2011

avg-cpu:  %user  %nice %system %iowait  %steal  %idle
          16.92    0.06    3.02    1.06    0.00  78.94

Device:            tps  Blk_read/s  Blk_wrtn/s  Blk_read  Blk_wrtn
sdb            374.27    52740.63      7324.86 1967243416  273219624
sdc            375.21    52741.08      7328.37 1967260216  273350832
sdd            376.82    52740.83      7326.12 1967250984  273266616
md0            1804.93        57.26    14434.28    2135842  538403384

iostat -d -x -k 1
$iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态

第一种:用 top 命令 中的cpu 信息观察
  Top可以看到的cpu信息有:
  Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
  Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si
  具体的解释如下:
  Tasks: 29 total 进程总数
  1 running 正在运行的进程数
  28 sleeping 睡眠的进程数
  0 stopped 停止的进程数
  0 zombie 僵尸进程数
  Cpu(s):
  0.3% us 用户空间占用CPU百分比
  1.0% sy 内核空间占用CPU百分比
  0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
  98.7% id 空闲CPU百分比
  0.0% wa 等待输入输出的CPU时间百分比
  0.0% hi
  0.0% si
  0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。

统计当前占用IO最高的10个进程:
dmesg |awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -n 10

当你要创建的目录包含子目录时,你需要使用 -p 参数。如果 mkdir 找不到父目录,那么这个参数会首先帮助创建父目录  mkdir -p 


hosts 配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射


一般情况下hosts的内容关于主机名(Hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。

第一部份:网络IP地址。

第二部份:主机名.域名,注意主机名和域名之间有个半角的点。

第二部份:主机名(主机名别名) ,其实就是主机名。

当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian


imglikeopera


rpm -Uvh compat-gcc-34-c++*


yum提示another app is currently holding the yum lock;waiting for it to exit
可能是系统自动升级正在运行,yum在锁定状态中。
可以通过强制关掉yum进程:
#rm -f /var/run/yum.pid
然后就可以使用yum了。

chkconfig --add camsd   添加到服务列表中,添加以后该服务可以使用service 来启动
chkconfig --del camsd
chkconfig --level 5 sendmai on      设置服务自动运行
chkconfig --level 35 camsd off     自启动服务列表中删除
chkconfig --list camsd    查看某项服务的自启动状态信息


Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Error: Can't open display: :0.0

解决办法:用root登陆,在#提示符后输入:

xhost local:oracle non-network local connections being added to access control list


VMtools默认安装在/usr/bin下,卸载VMtools时在安装路径下执行命令./vmware-uninstall-tools.pl即可

LINUX下找出哪个进程造成的IO等待很高的方法
抓哪个进程干坏事前要先停掉syslog
/etc/init.d/syslog stop
echo 1 > /proc/sys/vm/block_dump
dmesg | egrep "READ|WRITE|dirtied" | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head
1423 kjournald
1075 pdflush
209 indexer
3 cronolog
1 rnald
1 mysqld
不要忘记在抓完之后关掉block_dump和启动syslog
echo 0 > /proc/sys/vm/block_dump
/etc/init.d/syslog start

很多人还是习惯用rmdir删除目录,不过一旦目录非空,就不行了,要用rm,不过要加两个参数-rf 即:rm -rf 目录名字

-r 就是向下递归,不管有多少级目录,一并删除

-f 就是直接强行删除,不作任何提示的意思

linux下拷贝的时候有时候会出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs" 说明bbs目录下面还有目录,不能直接拷贝


解决办法:递归拷贝  命令:cp -r bbs ../backup/bbs    解释:-r 这个options是递归的意思

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。

  当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
  -s 是代号(symbolic)的意思。
  这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又 软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。


**注意:rm -rf ./test_chk_ln   删除软链接   
        rm -rf ./test_chk_ln/  这样就会把原来test_chk(源文件)下内容删除
        rm -rf test_chk_ln     这样就会把原来test_chk(源文件)下内容删除

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释:
1. if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
2. of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
3. ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。

 yum-GPG key retrieval failed: No such file or directory 
修改你的repo文件,在每个仓库的配置区域最后加上或修改gpgcheck=0,可能的仓库文件位置:
/etc/yum.conf
/etc/yum.repos.d/*


yum 安装过程下载的包存放路径

[root@Rhel5 packages]# cat /etc/yum.conf | grep cachedir
cachedir=/var/cache/yum

这就是保存的地方,

[root@Rhel5 packages]# ll
total 100
-rw-r--r-- 1 root root 94864 Nov 13 05:16 hwbrowser-0.30-2.el5.noarch.rpm
[root@Rhel5 packages]# pwd
/var/cache/yum/rhel-debuginfo/packages
[root@Rhel5 packages]# cat /etc/yum.conf | grep keep
keepcache=1

还要把/etc/yum.conf中的keepcache改成1,默认是0即安装后不保存包头和软件包


yum会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,
可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages清除下载的rpm包。

Oracle Linux 5
 
# cd /etc/yum.repos.d
 
# wget http://public-yum.oracle.com/public-yum-el5.repo


rhel-debuginfo.repo文件中有 [rhel-debuginfo]  
name=        描述信息  
baseurl=file://  路径解决依赖关系的包路径,可是FTP,file,http  
enable=       这里等于0表不启用baseurl,为1表启用baseurl路径 
gpgkey=       这里是验证是否红帽子的RPM包工具  
gpgcheck=     这里等于0表不启用gpgkey,为1表启用gpgkey   (可以不验证 0)

修改配置
在/etc/sysconfig/network-scripts目录下,用vi命令编辑ifcfg-em2:
DEVICE=em2  设备名称
HWADDR=C8:1F:66:B8:EB:9F 物理地址
ONBOOT=yes  是否启动
BOOTPROTO=static  静态IP   可以选择 dhcp
BROADCAST=192.168.0.255 广播
NETWORY=192.168.0.0 网段
IPADDR=192.168.0.123 IP地址
NETMASK=255.255.255.0 子网
GATEWAY=192.168.0.1  网关!
DNS=192.168.0.1  
保存后,还需要用如下命令重启一下网络服务:
# service network restart


fsck命令 

[root@rac1 ~]# dd if=/dev/zero of=/dev/sdb1 bs=8192 count=2560
2560+0 records in
2560+0 records out
20971520 bytes (21 MB) copied, 1.43081 seconds, 14.7 MB/s
[root@rac1 ~]# dd if=/dev/zero of=/dev/sdb1 bs=8192
dd: writing `/dev/sdb1': No space left on device
65535+0 records in
65534+0 records out
536854528 bytes (537 MB) copied, 52.3613 seconds, 10.3 MB/s


显示当前的磁盘状态 dumpe2fs /dev/sda    ext3型磁盘


VI文本编辑:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

linux获取 GPG 密钥失败:[Errno 14] (2013-03-13 12:24:30)转载▼
这个问题简单总结了一下!
GPG key retrieval failed: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
简单的翻译:GPG密钥检索失败:[14] PYCURL errno的错误 - “无法连接到主机”
解决办法:
1、检查自己的DNS是不是正常,ping centos.org 和ping www.baidu.com
   如果都是正常,那DNS配置就不存在问题了。如果感觉DNS还是有问题就换个
vi /etc/resolv.conf
nameserver 8.8.8.8
2、实质性问题就是自己系统没有yum的GPG密钥
   查看自己系统版本
   cat /etc/issue
   登陆mirrors.163.com 找到自己系统对应的密钥
   RPM-GPG-KEY-CentOS-3
   RPM-GPG-KEY-CentOS-4
   RPM-GPG-KEY-CentOS-5
   RPM-GPG-KEY-CentOS-6
   使用命令rpm --import进行导入
   rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6

然后你再试一下Yum -y update 你就会发现一切正常了!


vi查找:当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,

不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了 “/”然后输入你要查找的关键字敲回车就可以了。
如果你要继续查找此关键字,敲字符n就可以继续查找了。值得注意的是“/”是向下查找,而“?”是向上查找,而在键盘定义上“?”刚好是“/”的上档符.

Starting httpd: httpd: apr_sockaddr_info_get() failed for linux01
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]
using localhost.localdomain for ServerName  
说不能确认服务器完全确认域名 localhost.localdoman  这个问题怎么解决
 

最佳答案: 

vi /etc/httpd/conf/httpd.conf   加入一句  ServerName  localhost:80


sed 是一种在线编辑器,它一次处理一行内容。
处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

sudo命令用来以其他身份来执行命令,预设的身份为root


更新yum的时候报错:Metadata file does not match checksum
將/etc/yum.conf加上 

http_caching=none


如何卸载rpm包
首先通过  rpm -q <关键字> 可以查询到rpm包的名字

 
然后 调用 rpm -e <包的名字> 删除特定rpm包


如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包
 

如果恰好有多个包叫同样的名字,使用 rpm -e --allmatches --nodeps <包的名字> 删除所有相同名字的包, 并忽略依赖


ssh -l root -p 22 192.168.1.200      -- -l指定用户 -P指定端口
ssh root@192.168.1.200   

ps -ef|grep mysqld              ---查看mysql进程

rpm -e --nodeps 要卸载的软件包


dig查询DNS相关信息记录,CNAME,MX记录等等。  dig www.baidu.com
这个命令主要用于解决相关DNS查询;nslookup也具备查询DNS的功能


ethtool命令  查看到网络模式和网络速度等信息   ethtool eth2

./configure --prefix=/usr/local/test 
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)


rpm -ivh 包名 --force --nodeps  忽略软件包及文件的冲突、依赖


tar xvf jdk-7u79-linux-x64.tar.gz  解压jdk-7u79-linux-x64.tar.gz文件


查找文件命令:
which mysql        查询软件运行文件所在地址
whereis mysql      查看软件安装的所有路径


du -h --max-depth=0 *       --查看当前目录所有文件大小(文件夹大小也统计)


~ 代表你的/home/用户目录
. 代表此目录本身
cd ~/. 和 cd ~ 和cd ~/效果一样
.后面有东西又是另外一个问题,点在文件名头部,代表一个隐藏文件    *注意*
eg:  .ssh   隐藏文件


免密远程ssh
1.  ssh-keygen -t rsa      --生成公密和私密匙
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.43.55   --发送到远程机器
ssh root@192.168.1.200         --登录到远程机器(无需密码)

mkdir -p :递归创建目录,即使上级目录不存在,会按目录层级自动创建目录

将文件夹下的所有文件复制到另一个文件里
如何将文件夹/home/work下的文件复制到/home/temp里面?
使用命令:

cp -R /home/work/* /home/temp          *表示所有文件

vi /etc/inittab            --- 5 为界面运行
修改将“id:5:initdefault:”中“5”改为“3”系统无界面运行,需重启


软链接 (符号链接) ln -s   source  target 

vim /etc/profile   修改环境变量   
source /etc/profile   使配置生效

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值