[置顶] Linux实用命令收集(待续)

版权所有,转载需声明作者 [email protected]

1、查看文本文件的编码方式:
$ file laji.txt
$ iconv -l
$ iconv -f 源文件编码方式 -t 目标编码方式文件名

2、主机为Dell Optiplex 740, Xen下安装HVM模式虚拟机总重启
解决:之前的BIOS版本为1.1.8,需要从Dell官网上下载升级至1.2.3版本,并在BIOS中设置
TPM Activation= Deactivate and No Execute = Off

3、awk统计
有如下格式的日志文件test.log,如何统计tps列的和:
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=20 tps=400 sl=3938(49.2%) on=2457(30.7%) oi=1604(20.1%) end=230810-16:36:58
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=26 tps=308 sl=4008(50.1%) on=2431(30.4%) oi=1560(19.5%) end=230810-16:37:06
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=35 tps=229 sl=4078(51%) on=2345(29.3%) oi=1576(19.7%) end=230810-16:37:10
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=34 tps=235 sl=4047(50.6%) on=2296(28.7%) oi=1656(20.7%) end=230810-16:37:10
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=32 tps=250 sl=3959(49.5%) on=2395(29.9%) oi=1645(20.6%) end=230810-16:37:11
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=37 tps=216 sl=3930(49.1%) on=2443(30.5%) oi=1626(20.3%) end=230810-16:37:11
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=29 tps=276 sl=3952(49.4%) on=2424(30.3%) oi=1623(20.3%) end=230810-16:37:12
TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM txn(all)=10000 xn(sam)=7999 t(sam)=28 tps=286 sl=3962(49.5%) on=2414(30.2%) oi=1623(20.3%) end=230810-16:37:14

cat test.log | awk -F " " '{print $5}' | awk 'BEGIN{FS="=";count=0}{count=count+$2} END{print count}'

4、Suse 关闭gdm: /usr/sbin/gdm-stop

5、配置NFS:
1)修改/etc/exports,添加:
/media/nfs    192.168.1.*(rw,async,root_squash)
2)(重启后)查看导出列表:
exportfs –v
3)查看某指定机器上的nfs导出目录:
showmount -d 192.168.1.118

6、ln -sv TARGET SOURCE,如果TARGET用相对路径,则其表示在SOURCE所在路径下建立相对链接

7、cat testfile | sed 's/hello/&_HELLO/g' 把testfile中的hello附件一个_HELLO

8、mv test{,.org} 把test文件复制为test.org

9、sudo !!
    以 root 帐户执行上一条命令。
10、python -m SimpleHTTPServer
    利用 Python 搭建一个简单的 Web 服务器,可通过 http://$HOSTNAME:8000 访问。
11、:w !sudo tee %
    在 Vim 中无需权限保存编辑的文件。
12、cd -
    更改到上一次访问的目录。
13、^foo^bar
    将上一条命令中的 foo 替换为 bar,并执行。
14、cp filename{,.bak}
    快速备份或复制文件。
15、mtr google.com
    traceroute + ping。
16、!whatever:p
    搜索命令历史,但不执行。
17、$ssh-copy-id user@host
    将 ssh keys 复制到 user@host 以启用无密码 SSH 登录。
18、ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
    把 Linux 桌面录制为视频。

19、一次系统挂载的NFS分区怎么也卸载不掉,因为主机突然down机了。
    最终使用 umount -fl /mountpoint 完成。

20、echo -e "y\n\n" | repo init [ ] manifest.git
    repo init 命令需要输入y和两次回车,用echo实现自动输入功能

21、格式化输出程序执行时间,time命令
    export TIMEFORMAT=$'%3lR\t%3lU\t%3lS'
    time ls

22、用vim 十六进制编辑文件
    首先以二进制方式编辑这个文件:
    $ vim -b datafile
    用xxd 把这个文件转换成十六进制:
    :%!xxd
    文本看起来像这样:
        0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49  ....9..;..tt.+NI
        0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30  K,.`.....b..4^.0
        0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9  7;'1.".....i.59.
    现在你可以随心所欲地阅读和编辑这些文本了。vim 把这些信息当作普通文本来对待。
    修改了十六进制部分并不导致可打印字符部分的改变,反之亦然。
    最后, 用下面的命令把它转换回来:
    :%!xxd -r
    只有十六进制部分的修改才会被采用。右边可打印文本部分的修改忽略不计。

-----------------------------dpkg-----------------

23、dpkg 安装包命令

查询系统中属于nano的文件
$ dpkg --listfiles nano
or
$ dpkg-query -L nano查询系统中属于nano的文件

24、查看软件的详细信息(以nano为例):
$ dpkg -s nano
or
$ dpkg-query -s nano

25、查看系统中软件包状态, 支持模糊查询:
$ dpkg -l
or
$dpkg-query -l


26、查看某个文件的归属包:
$ dpkg-query -S nano
or
$ dpkg -S nano


27、dpkg -L 查询系统中已安装的软件包所安装的位置. (类似于rpm -ql)
28、dpkg -S 查询系统中某个文件属于哪个软件包. (类似于rpm -qf)
29、dpkg -I 查询deb包的详细信息,在一个软件包下载到本地之后看看用不用安装
30、dpkg -i 手动安装软件包(这个命令并不能解决软件包之前的依赖性问题),如果在安装某一个软件包的时候遇到了软件依赖的问题,可以用apt-get -f install在解决信赖性这个问题.
31、dpkg -r 卸载软件包.不是完全的卸载,它的配置文件还存在.
32、dpkg -P 全部卸载(但是还是不能解决软件包的依赖性的问题)

33、对目录的可执行权限的定义为:可使用cd转到目录下,并可查看目录下具有读取权限的文件,但这与执行文件没什么关系。

如果对某个目录仅具有可执行权限,那么使用ls可列出目录下知道名字的文件,而不能使用不带任何参数的ls列出整个目录(除非使用了-d参数)。

例如有一个testdir目录,其权限为drwx-----x,则其它用户不能使用ls来列出testdir下面的所有内容,除非加-d参数,但是能列出他知道完整名字的文件(无需-d)

34、
使用控制台登录后,在shell提示符下面操作时会用到大量的Tab来自动补全,这个时候机器的蜂鸣器就会嘟嘟吡吡不停。
这个嘟吡的声音可以使用setterm命令来设置它的长段
  setterm -blength 0
 (数值小于3都听不见)
 后面的取值可以是0-1000,可以用setterm看看它的用法。仅仅输入上面一条命令还不行,下次重新启动还会有吡吡声。彻底解决需要将以上命令加入/etc/bashrc (ubuntu为/etc/bash.bashrc)

补充一点:/etc/inputrc里面有一条语句
# do not bell on tab-completion
#set bell-style none

这里如果去掉set前面的注释符,仅仅是把tab自动补全的声音去掉,而不能彻底消除console下面其它的声音(比如Backspace, vi)

以上只是关闭了蜂鸣器的声音,并不影响音箱的发声,play music, video不会有任何副作用。

还可以setterm -bfreq 50来调整发声的频率,我配置为:
setterm -blength 5 -bfreq 50
加入到/etc/bash.bashrc
注:设置对伪终端无效

35、
在查看目录的使用情形时,我们可以将输出结果导到 sort 指令进行排序,以了解哪个档案用了最多的空间:
# du /etc | sort -nr | more
  1746 /etc
  388 /etc/mail
  318 /etc/rc.d
  130 /etc/ssh
  110 /etc/periodic
  104 /etc/defaults
  68 /etc/mtree
  52 /etc/isdn
  44 /etc/periodic/daily
  42 /etc/periodic/security
  38 /etc/pam.d
  16 /etc/periodic/weekly
  10 /etc/ssl
  8 /etc/bluetooth
  6 /etc/ppp
  6 /etc/periodic/monthly
  6 /etc/X11
  4 /etc/gnats
  2 /etc/skel
  2 /etc/ntp
sort 的参数 -nr 表示要以数字排序法进行反向排序,因为我们要对目录大小做排序,所以不可以使用 human-readable 的大小输出,不然目录大小中会有 K、M 等字样,会造成排序不正确。

36、7z加密
7z a -p -mhe=on temp.7z *
mhe是表示要加密文件列表

37、删除有特殊文件名的文件
使用rm命令删除名为“-aaa”的文件(rm -aaa)时,系统会提示我们是无效选项(invalid option),原来由于文件名的第一个字符为 - ,Linux把文件名当作选项了。此时可以使用“--”符号来解决这个问题,输入
rm -- -aaa
可以删除-aaa文件。
如果是其他特殊字符的话可以在特殊字符前加一个“”符号,或者用双引号把整个文件名括起来

38、grep反检索,只显示不匹配的行
grep -v "目标模式串"

39、
查看nfs服务器的共享资源
showmount -d 服务器ip
查看nfs服务器的exports文件
showmount -e 服务器ip

查看挂载的nfs客户端列表
showmount -a 服务器ip

showmount在/usr/sbin/目录


40、

只输出文件大小(给脚本或者其它的工具用)

stat -c '%s' filename

你可能感兴趣的:(linux,python,SuSE,dell,xen)