常用命令

来源:互联网 发布:用友u8数据库安装 编辑:程序博客网 时间:2024/05/01 08:01

1、解压

压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为 jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2
tar –xZvf file.tar.Z   //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip

 


 

2、rpm

rpm -ivh test.rpm  安装

rpm -qa  列出所有安装的套件

rpm -qa | grep keyword 列出包含关键词的套件

rpm -e test.rpm卸载套件

rpm --rebuilddb重建数据库


 

3、grep 和more

在Linux中经常会用到grep去选取所需要的信息,用好grep有时可以到达意想不到的效果。1、参数:-I :忽略大小写-c :打印匹配的行数-l :从多个文件中查找包含匹配项-v :查找不包含匹配项的行-n:打印包含匹配项的行和行标2、RE(正则表达式)/ 忽略正则表达式中特殊字符的原有含义^ 匹配正则表达式的开始行$ 匹配正则表达式的结束行/< 从匹配正则表达式的行开始/>; 到匹配正则表达式的行结束[ ] 单个字符;如[A] 即A符合要求[ - ] 范围 ;如[A-Z]即A,B,C一直到Z都符合要求. 所有的单个字符* 所有字符,长度可以为0以下是举例:# cat access.log(首先展示我们所查文件的内容)48 Dec 3BC1997 LPSX 68.00 LVX2A 138483 Sept 5AP1996 USP 65.00 LVX2C 18947 Oct 3ZL1998 LPSX 43.00 KVM9D 512219 dec 2CC1999 CAD 23.00 PLV2C 68484 nov 7PL1996 CAD 49.00 PLV2C 234487 may 5PA1998 USP 37.00 KVM9D 644471 May 7Zh1999 UDP 37.00 KV30D 643# grep -c "48"access.log(统计所有以“48”字符开头的行有多少)# grep -i "May"access.log(不区分大小写查找“May”所有的行)487 may 5PA1998 USP 37.00 KVM9D 644471 May 7Zh1999 UDP 37.00 KV30D 643# grep -n "48"access.log(显示行号;显示匹配字符“48”所在的行的行号)1:48 Dec 3BC1997 LPSX 68.00 LVX2A 1382:483 Sept 5AP1996 USP 65.00 LVX2C 1895:484 nov 7PL1996 CAD 49.00 PLV2C 2346:487 may 5PA1998 USP 37.00 KVM9D 644# grep -ni "may"access.log(显示行号;显示匹配字符“may”所在的行的行号,不区分大小写)# grep -v "48"access.log(显示输出没有字符“48”所有的行)more命令使用:more +linenum filename  (从多少行开始查看文件,然后按空格进行翻页)grep和more联合使用对查看日志特别有用。用grep命令先找到最后的行号grep -R "3308" /opt/data/查找/opt/data目录下所有包含3308的文件,包括子目录

查看内存:

free -m

m代表mb,还可以是b,k,g


 

查看cpu

cat /proc/cpuinfo

 


 

查看磁盘空间

du -sm * | sort -n

df -h

 


scp命令:

 

Linux scp命令用于Linux之间复制文件和目录,具体如何使用这里好好介绍一下,从本地复制到远程、从远程复制到本地是两种使用方式。这里有具体举例:

  ==================

  Linux scp 命令

  ==================

  scp 可以在 2个 linux 主机间复制文件;

  命令基本格式:

  scp [可选参数] file_source file_target

  ======

  从 本地 复制到 远程

  ======

  * 复制文件:

  * 命令格式:

  scp local_file remote_username@remote_ip:remote_folder

  或者

  scp local_file remote_username@remote_ip:remote_file

  或者

  scp local_file remote_ip:remote_folder

  或者

  scp local_file remote_ip:remote_file

  第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;

  第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;

  * 例子:

  scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music

  scp /home/space/music/1.mp3 root@www.cumt.edu.cn:/home/root/others/music/001.mp3

  scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music

  scp /home/space/music/1.mp3 www.cumt.edu.cn:/home/root/others/music/001.mp3

  * 复制目录:

  * 命令格式:

  scp -r local_folder remote_username@remote_ip:remote_folder

  或者

  scp -r local_folder remote_ip:remote_folder

  第1个指定了用户名,命令执行后需要再输入密码;

  第2个没有指定用户名,命令执行后需要输入用户名和密码;

  * 例子:

  scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/

  scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

  上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录

  ======

  从 远程 复制到 本地

  ======

  从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 即可;

  例如:

  scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3

  scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

  最简单的应用如下 :

  scp 本地用户名 @IP 地址 : 文件名 1 远程用户名 @IP 地址 : 文件名 2

  [ 本地用户名 @IP 地址 :] 可以不输入 , 可能需要输入远程用户名所对应的密码 .

  可能有用的几个参数 :

  -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .

  -C 使能压缩选项 .

  -P 选择端口 . 注意 -p 已经被 rcp 使用 .

  -4 强行使用 IPV4 地址 .

  -6 强行使用 IPV6 地址 .

  Linux scp命令的使用方法应该可以满足大家对Linux文件和目录的复制使用了。

在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。
       1、[root@Client root]# ssh-keygen -b 1024 -t rsa
        Generating public/private rsa key pair.
        Enter file in which to save the key (/root/.ssh/id_rsa):
        Enter passphrase (empty for no passphrase):            <-- 直接输入回车
        Enter same passphrase again:                           <-- 直接输入回车
        Your identification has been saved in /root/.ssh/id_rsa.
        Your public key has been saved in /root/.ssh/id_rsa.pub.
   注意:在程序提示输入passphrase时直接输入回车,表示无证书密码
    上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。

    2. 将公钥证书id_rsa.pub的内容复制到机器Server的root家目录的.ssh子目录的authorized_keys文件中。


拷贝

cp -r /tmp/a/* /tmp/b


 

查看端口

netstat -l -n

 


uname -m如果有x86_64就是64位的,没有就是32位的


awk

cat /mnt/logs/24/m/access.log.2010-01-26 /mnt/logs/25/m/access.log.2010-01-26 | tr A-Z a-z | sort -t ':' -k 2 | awk -f useraccess.awk | sort -k 2 -n -r > useraccess2010-01-26.txt
运行awk文件要注意文件的编码类型。utf-8格式不支持

 


linux换行符

linux:/n    dos:/r/n    mac: /r


 

cron服务

  上面已经简单介绍了cron的一些进程和控制。下面我们来看看cron怎么实现。

  相对与at,cron的优点就是能够周期性的执行某个命令,at却只能执行一次

  cron的后台进程名字是crond ,cron也是system V的服务,所以我们可以service crond start|stop 来启动和关闭此服务,也可以使用chkconfig或者ntsysv来选择cron服务的默认开启,这些命令在以前我们都讲过的

  #crontab -e 编辑当前用户的cron表

  #crontab -l 查看当前用户的cron表

  #crontab -r 删除当前用户的cron进程

  #crontab -u 用户名 以某用户的身份来控制cron表

  还有个重要的知识点,就是当用户的计划任务建立后是存放在/var/spool/cron这个目录

  当使用crontab -e编辑当前用户的cron表后,会出现一个vi文件,cron的格式是这样的。分成两列,左边是时间,右边是运行的命令。时间是由5个部分组成。

  例:

  * * * * * wall hello everyone

  5个星号分别代表:minute hour day-of-month month-of-year day-of-week 分时日月周 ,而wall hello everyone 这是命令内容。上面的意识是每分每小时每天每月每周广播hello everyone。具体时间大家可以自己定义。如果要每两分钟发送就用*/2代替第一个*。也可以是用具体时间来表示。

  Crontab –e 编辑的任务不要加入用户名

  第一个*星号代表个小时的第几分钟:minute 范围是从0-59

  第二个*星号代表每天的第几个小时:hour 范围是从0-23

  第三个*星号代表每月的第几个日:day-of-month 范围从1-31

  第四个*星号代表没年的第几个月:month-of-year 范围从1-12

  第五个*星号代表每周的星期几:day-of-week 范围从0-6,其中0表示星期日

  用户名:也就是执行程序要通过哪个用户来执行,这个一般可以省略;

  命令:执行的命令和参数。

  如果我要表示9月10日25分执行ls var/spool/cron任务怎么表示?

  25 * 10 9 * ls var/spool/cron

  */1 * * * 0 wall Hello redking.blog.51cto.com

  */ 表示每多少分钟执行一次哈~

  当制定了cron任务后,可以用crontab -l查看, 也可以到/var/spool/cron/目录查看。里面的文件名字就是对应用户的cron任务

  可以使用crontab -r 来删除当前用户的cron

  vim /etc/crontab 与crontab -e写入的定时运行有什么区别?

  vim /etc/crontab:是系统级别定义的crontab,/etc/crontab的所有者和组都是root

  crontab -e :是用户自定义的crontab,是所有的用户都可以写入的

  两种方法记录的位置不一样,一个在/etc/ 另一个在/var/ 里面。都被cron服务调用哈~


带空格路径表示:

1、用前导符"/"做转义符来输入空格 如/opt/program/ files/java

2、用双引号括起来  如/opt/"program files"/java


环境变量

 

1. Linux查看环境变量显示环境变量HOME
$ echo $HOME/home/redbooks

2. Linux查看环境变量设置一个新的环境变量hello
$ export HELLO=”Hello!”
$ echo $HELLO
Hello!

3. Linux查看环境变量使用env命令显示所有的环境变量
$ env

4. Linux查看环境变量使用set命令显示所有本地定义的Shell变量
$ set
BASH=/bin/bash

5. Linux查看环境变量使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST=”Test…” #增加一个环境变量TEST
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test…
$ unset TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

6. Linux查看环境变量使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST=”Test…” #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST=”New” #会发现此也变量不能被修改
-bash: TEST: readonly variable

 


cat access_log_font_2011_04_1* |sed 's/- - .*font.gif?yahei=//g'|sed 's/ HTTP.*$//g'|sort|uniq|grep "" -c

原创粉丝点击