Linux常用命令汇总

来源:互联网 发布:手机系统分身软件 编辑:程序博客网 时间:2024/03/29 13:33
####让系统时间加快50秒
  /bin/date -s $(/bin/date -d "+50 sec" +%T)

####将大文本文件test.log拆分成每500行一个的小文件test.logxaa,test.logxab,......
  split -l 500 test.log test.logx

#1. 内存的插槽数,已经使用多少插槽.每条内存多大,已使用内存多大
 
dmidecode | grep -P -A 5 "Memory\s+Device" | grep Size | grep -v Range
Size: 2048 MB
Size: 2048 MB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
 
#2. 支持的最大内存容量
 
dmidecode | grep -P 'Maximum\s+Capacity'
 
Maximum Capacity: 64 GB
 
#3. 查看内存的频率
 
dmidecode | grep -A16 "Memory Device"
dmidecode | grep -A16 "Memory Device" | grep 'Speed'
 
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)
Speed: 667 MHz (1.5 ns)

####将当前目录下的所有文件压缩并打包,生成的文件名为:aaa.tar.gz
  tar zcvf aaa.tar.gz ./*

###将裸设备上的redo log复制出来
  dd if=/opt/oracle/oradata/redo31 of=redo31.log bs=8k
  ----》上面的“/opt/oracle/oradata/redo31”是对应到裸设备/dev/raw/raw5的软link

###linux下如何解压.iso文件呢?可以使用下面命令挂载到目录中:
  mount -o loop xxx.iso /mnt

####Linux&Unix下测试Disk读写速度:
##Write Performance:产生一个4G file 并用 time 算出时间
  /usr/bin/time dd if=/dev/zero of=/testfile bs=16384 count=250000

##Read Performance: 用刚刚产生的4G file 读档 算出时间
  /usr/bin/time dd if=/testfile of=/dev/null bs=16384

##在一个网卡上起第2个IP
  ifconfig eth0:1 10.194.128.76 netmask 255.255.255.0

####fuser的使用方法
使用说明
此 fuser 命令列出了本地进程的进程号,那些本地进程使用 File 参数指定的本地或远程文件。
对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。
每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。
c 将此文件作为当前目录使用。
e 将此文件作为程序的可执行对象使用。
r 将此文件作为根目录使用。
s 将此文件作为共享库(或其他可装载对象)使用。
进程号被写入标准输出(在进程号之间有空格的行中)。
一个换行符被写入标准错误(在每个文件操作数的最后一个输出之后)。其他所有输出被写入标准错误。
此 fuser 命令不会检测有 mmap 区域的进程,其中相关的文件描述符已从此被关闭。


主要参数

-c 包含 File 的文件系统中关于任何打开的文件的报告。
-d 暗示使用了 -c 和 -x 标志。
   关于任何与文件系统(自父目录删除的)无链接的打开文件的报告。
   当与 -V 标志一起使用时,它也会报告被删除文件的节点号和大小。
-f 仅对文件的打开实例报告。
-K SignalNumber | SignalName 将指定信号发送到每个本地进程。
   仅有 root 用户能终止另一用户的进程。信号可以指定为信号名称(如 -9)或 KILL(用于 SIGKILL 信号)。
   SignalName 的有效值是 kill -l 命令所显示的那些值。
-k 将 SIGKILL 信号发送到每个本地进程。仅有 root 用户能终止另一用户的进程。
注:
fuser -k 或 -K 可能无法检测和杀死程序开始运行后立即创建的新进程。
-u 为进程号后圆括号中的本地进程提供登录名。
-V 提供详细输出。
-x 与 -c 或 -f 连用,报告除标准 fuser 输出以外的可执行的和可载入的对象。


应用实例

    * 要列出使用 /etc/passwd 文件的本地进程的进程号,请输入:

fuser /etc/passwd

    * 要列出使用 /etc/filesystems 文件的进程的进程号和用户登录名,请输入:

fuser -u /etc/filesystems

    * 要列出正在使用已从给定文件系统删除的文件的全部进程,请输入:

fuser -d /usr


##########awk对文件操作

coohoo:~ # cat test
bcd;343;hello
aaa;888;congratulations
bcde;999;guanshengli
haha;666;emily
coohoo:~ # awk -F ';' '$2 == "666" {print $3}' test
emily
coohoo:~ # awk -F ';' '$1 == "aaa" {print $2}' test
888
coohoo:~ # awk -F ';' '$3 == "hello" {print $0}' test
bcd;343;hello
coohoo:~ #


##########awk对命令输出选择或过滤:

coohoo:~ # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1             5.1G  1.4G  3.7G  27% /
tmpfs                 248M   12K  248M   1% /dev/shm
/dev/hda6             5.7G  400M  5.3G   7% /arch
/dev/hda5              13G   12G  1.3G  91% /data
/dev/hda3             4.1G  2.2G  1.9G  54% /opt
coohoo:~ # df -h | awk '$6=="/arch" {print $1" "$5" "$6}'
/dev/hda6 7% /arch

##########awk找出占用80端口的进程并杀掉:

lsof -i :80|grep -v "PID"|awk '{print "kill -9",$2}'|sh

lsof简介
    lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。
    所以如传输控制协议 (tcp) 和用户数据报协议 (udp) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,
    该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,
    因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

##########使用netstat找出占用1521端口的进程

netstat -nap |grep 1521

##########文件与目录权限对应的数字:

读写执行权限分别对应是
R -- 4
W -- 2
X -- 1
写是 2 ,022 表示group,other 的写权限,umask=022 掩码表示取消group , other 用户的写权限 。
对目录来说umask=022意味这目录的权限是644 (666-022)
对文件来说umask=022意味这文件的权限是755 (777-022)

#########从linux访问windows系统上的共享文件夹:

mount -t smbfs -o username=guanjun,password=goodguanjun  //192.168.1.37/temp /mnt/cdrom/

mount -t smbfs -o username=user,password=password,ip=192.168.**.** //HOSTMACHINE_NAME/Tinix /mnt/smb/Tinix