linux 操作技巧.(不断增加)

Posted 邱洋inCloud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 操作技巧.(不断增加)相关的知识,希望对你有一定的参考价值。

linux 操作技巧.(不断增加)

-Tip1 查看man文件...
nroff -man man/libnet.3 | less

有时候man文件不在系统目录..这时候就可以用上面的方式来查看非标准的man文件


-Tip2 以不同的用户身份运行程序...
su - username -c "where/is/command/line"

有时候需要运行特殊身份的程序...就可以让su来做...

-Tip3 解压bz文件
tar -jvxf some.bz

就是把tar的zvxf 改成jvxf


-Tip4 编辑/etc/inittab后直接生效的方法..

执行init q

-Tip5 让linux连续执行几个命令,出错停止

command1 && command2 && command3 ....

-Tip6 linux中的bg和fg管理

当我们打ctrl+z的时候一个任务就被挂起(就是暂停),同时屏幕上返回一个数字,
这时候可以用 "bg %数字" 来把这个进程放到后台执行...这个很适合在你忘了加
&的时候进行补救...同样 " fg %数字 "就能让这个进程放到前台来执行了...
job命令用来查看当前的被bg的进程...

-Tip7 ctrl+s与ctrl+q

ctrl-s 好象是从终端时代遗传过来的东东, 流量控制, 用来暂停向终端发送数据的. ctrl-q 用来恢复恢复

-Tip8 目录统计教本

保存成total.sh ,然后用total.sh 绝对路径,就会统计路径下目录的大小了
代码:
#!/bin/sh
du $1 --max-depth=1 | sort -n|awk '{printf "%7.2fM ----> %s/n",$1/1024,$2}'|sed 's:/.*//([^/]/{1,/}/)$:/1:g'

-Tip9 grep不显示本身进程
代码:
ps -aux|grep httpd|grep -v grep
通过再一次grep -v grep就可以取消显示你所执行的grep本身这个进程,-v参数是不显示所列出的进程名.


-Tip10 自己用的一个统计httpd的脚本
代码:
#!/bin/sh
while (true)
do
pstree |grep "*/[httpd/]$"|sed 's/.*-/([0-9][0-9]*/)/*/[httpd/]$//1/'
sleep 3
done

-Tip 11 解压rpm包中的文件
代码:
cat gnome-libs-1.4.1.2.90.22.i386.rpm | rpm2cpio | pax -r

-Tip12 去掉apache的manual目录中的所有.en的后缀名

进入到manual目录
代码:
find ./ -regex .*/.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%s/n",$1,$2,$3,$4,$1,$2,$3}'|sh



-Tip 13 linux里如何映射windows里的硬盘
mount -t smbfs -o username=xxx,password=xxx //winxp_ip_or_hostname/sharename /local_path

fc2中已经不需要-t smbfs这个参数了.

-Tip 14 linux里如何查看可用的硬盘设备
fdisk -l

[zt] form rexhsu's bbshttp://rexhsu.minidns.net/~irc/discuz/viewthread.php?tid=13


Linux Useful Tips (Collected by RexHsu@ccf)

-Tip1 命令行下制作ISO

用法: mkisofs -a -I -J -r -o filename.iso /目录
用途: 将linux下某个目录中的所有文件做成iso镜像.而且我加上了参数,可以保证你做出来的光盘是在windows下也可以用的 (iso是有文件大小限制的...具体多少偶忘记了)

-Tip2 Linux下ISO的虚拟方法

步骤如下:

1. 把 /dev/cdrom 删除,然后运行 ln -s /dev/loop7 /dev/cdrom
2. losetup /dev/loop7 xxx.iso
3. mount /mnt/cdrom

如何换盘:

1. losetup -d /dev/loop7 ;目的是取消这个设备
2. losetup /dev/loop7 yyy.iso ;新的iso文件

-Tip3 hosts的用法

host能够用来查询域名,然而它可以得到更多的信息.host -t mx linux.com可以查询出linux.com的MX记录,以及处理mail的host的名字.host -l linux.com会返回所有注册在linux.com下的域名.host -a linux.com则会显示这个主机的所有域名信息.

-Tip4 *.bz2文件如何解压缩

使用tar -I 或者bunzip2命令都可以.

-Tip5 RPM常见用法

安装rpm包时显示进度并校验包的正确性
用-vh参数:
如 rpm -ivh ipchains-1.3.6-1.i386.rpm
如果用glint或xrpm则不必.

直接通过ftp来安装rpm包
如 rpm -i ftp://ftp.xxx.xxx

校验所有的rpm包,查找丢失的文件
rpm -Va

查找一个文件属于哪个rpm包
如 rpm -qf /usr/bin/who

列出一个rpm包的描述信息
如 rpm -qpi mon-0.37j-1.i386.rpm

列出一个rpm包的文件信息
如 rpm -qpl mon-0.37j-1.i386.rpm

-Tip6 查看系统监听的服务

用法: netstat -ln
解释: "l"表示显示当前系统监听的端口信息;"n"表示端口按照端口号来显示,而不转换为service文件中定义的端口名;若希望了解各个端口都是由哪些进程监听则可以使用p参数.

-Tip7 查看系统运行的进程

用法: ps -auxw
解释: 其中参数"a"表示显示系统中所有用户的的进程;"u"表示输出进程用户所属信息;"x"表示也显示没有控制台的进程;若显示行太长而被截断则可以使用f参数.

-Tip8 Linux帐号搬家

对于新账号->
保证将要加入系统的新帐号放在新的位置上,这通过修改/etc/default/useradd文件中的HOME值来实现. 如: HOME=/home2 使新增帐号的主目录建在/home2下.

将已有帐号移至新的位置->
首先,将已有帐号的主目录连带目录属性拷至新位置,可用下面命令:
cp -a /home /home2

cp -rpd /home /home2
然后,修改/etc/passwd文件中相应记录的home_directory域为/home2/username.

这样两步已将旧帐号移至新位置.确保无误后,可删去旧帐号的旧主目录以腾出原文件系统的空间.

-Tip9
Linux 启动时屏幕显示的信息来不及看清就一闪而过,如果对这些信息感兴趣的话可以在启动完后用命令 dmesg 查看.

-Tip10 GRUB引导恢复小法

用启动盘或安装盘(linux rescue)进linux
sh# grub
grub> root (hdx,y)
grub> setup (hd0)
重启
说明: 如果成功会有一个successful......这里的x,如果是一个盘,就是0.如果你所安装的linux的根分区在第二个硬盘上,那x就是1了;y就是装有linux系统所在的根分区.setup (hd0)就是把GRUB写到硬盘的MBR上.如果我知道我的linux装在第一个硬盘上,但我不知道装在哪个分区上,就可以先输入root (hd0,然后用[TAB]键来补齐,然后就明白了.

-Tip11 测试磁盘性能

用法: hdparm -tT /dev/hd?
例如: hdparm -tT /dev/hda (测试第一个物理硬盘的速度)

-Tip12 将内网的服务对外开放

将192.168.1.2上的8888端口映射到192.168.1.3的8888端口
#iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8888 -j DNAT --to-destination 192.168.1.2:8888
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 192.168.1.2 -p tcp -m tcp --dport 8888 -j SNAT --to-source 192.168.1.3
#iptables -A INPUT -p tcp --dport 8888 -i eth0 -j ACCEPT (视情况而加)

-Tip13 关闭"讨厌"的Linux按键Beep声

vi /etc/.inputrc 增加下面一行
set bell-style none

-Tip14 开机进入图形/文本登陆方式

vi /etc/inittab
id:x:initdefault:
x=3:文本方式 x=5:图形方式

-Tip15 在GRUB中限制系统可使用的内存数量

限制Linux只能使用120MB内存

title Red Hat Linux (2.4.19)
root (hd0,1)
kernel /boot/vmlinuz-2.4.19 ro root=/dev/hda2 mem=120M
initrd /boot/initrd-2.4.18-14.img

-Tip16 如何查找某条命令的相关库文件

在Linux环境下通过ldd命令即可实现,在控制台执行:
ldd /bin/ls
即可得到/bin/ls命令的相关库文件列表.

-Tip17 只列子目录(文件)

ls -F | grep /$

你也可以在.bashrc(针对bash)中把该命令作成alias,以后只要敲入sub就可以实现只列子目录的功能.

  alias sub = “ls -F | grep /$”

同样,ls -l | grep ^-则是只列普通文件.

-Tip18 计算目录下的文件及子目录

ls -al | wc -l

-Tip19 RedHat 下显示彩色目录列表

ls -color 可以显示彩色目录列表,其中:

  蓝色→目录
  绿色→可执行文件
  红色→压缩文件
  浅蓝色→链接文件
  灰色→其他文件

同样你还可以试试ls --color(比前面多-),看看两者的差别吧

-Tip20 列目录时显示中文文件名

在没有打补丁的Linux系统中,我们用ls列目录,发现中文文件名都成了?号.我们可以使用--show-control-chars命令选项来显示.

ls --show-control-chars

-Tip21 改变当前路径下所有目录和文件的所有权

chown -R owner[.group] *

也可以用find命令来实现:

  find . -exec chown owner[.group] {} ;

-Tip22 改变所有子目录及文件的属性

在你要改变属性的目录下,输入命令:

chmod -R 777 *

就可以改变下面所有子目录及文件的属性,不过使用这个命令的时候要特别小心,要是在根目录下打入这个命令,你所有文件的属性都将改变,这就会引起很大的安全性问题.

-Tip22 使用nohup命令

如果你想进程在你退出系统后还能执行,可以使用nohup命令.
如:

  nohup tar cf /dev/tape /home &

你退出后再重新登录的话,使用ps命令会发现进程还在执行.

-Tip23 重新启动

Ctrl+Alt+Del 或 init 6 或 shutdown -r now

-Tip24 快速查找文件

查找文件可以用find,但最好是用locate.速度快,参数少.

  locate filename

它是在一个数据库里面查找.所以,要记得经常用updatedb命令更新数据库.一般地,我们是在crontab里面加一句,让机子在每天深夜更新数据库.
另外,快速查找命令文件,可以使用whereis.
例如:

  whereis rpm

-Tip25 查找Linux命令

如果你想实现某种功能,但是不知道该使用什么命令.你可以试试apropos命令,它也许能帮你找到你想要的命令.例如: 你要“查找”文件,又不知道用什么命令,你可以敲入下面的命令:

  apropos search

-Tip26 在同一个命令行上同时执行多条命令

用分号分隔.如编译一个源文件:

  #./configure ; make ; make install

-Tip27 用gzip(gunzip)压缩(解压)同一目录下的多个文件

gzip * 或者 gunzip *

-Tip28 在使用less或more时,直接启动vi

在less或者more中打入v键,会立即启动vi编辑器,可以对文件进行编辑.

-Tip29 在使用mail中启动vi

如果你觉得用mail发送邮件编辑起来很不方便,你可以在正文的顶格输入~v,启动vi进行编辑,编辑完后退出vi,回到mail.

-Tip30 观察文件大小变化

使用watch命令,可以反复执行命令.和ls配合,可以达到观察某文件大小变化的效果.

  watch ls -| file.name

-Tip31 查找含特定字符串的文件

例如查找当前目录下含有"the string you want find..."字符串的文件:


-Tip32 观看binary文件中的字符串

strings binaryfile

-Tip33 重装Win 9x后lilo失效无法启动Linux

只须先用软盘启动Linux然后运行一次lilo即可.对于RedHat可以用命令mkbootdisk来制作启动盘,例如:

  mkbootdisk --device /dev/fd0 2.4.20

其中2.4.20是/lib/modules下的一个目录.

-Tip34 去掉引导区内的lilo信息

安装lilo后如果硬盘数量或分区情况有改变的话将导致硬盘不能启动,这时只需用软盘启动DOS再运行fdisk/mbr即可.

-Tip35 把DOS/Windows改为缺省操作系统

RedHat把Linux作为lilo缺省操作系统,即出现 boot: 提示符后直接回车启动Linux.如果想改为DOS/Windows,修改文件/etc/lilo.conf,把有关启动DOS的部分放在前面,再运行一次lilo即可.也可以在lilo.conf的配置文件前面加上 Default=dos 其中DOS是DOS/Windows的label

-Tip36 如何使用.iso文件

许多Linux发行版本都有.iso的光盘镜像文件,可以用来刻录光盘.我们也可以在Linux系统下直接使用.

  mount -t iso9660 xxxxx.iso /any/path/if/u/like -o loop

-Tip37 显示文件的类型

用命令 file 可以使你知道某个文件究竟是ELF格式的可执行文件,还是shell script文件或是其他的什么格式.

  file filename

-Tip38 解压.tar.gz文件

xxxx.tar.gz文件使用tar带zxvf参数,可以一次解压开.

  tar zxvf xxxx.tar.gz

-Tip39 后台运行程序

可以在程序后面加“&”符号,让程序在后台运行.例如: 你想用updatedb更新文件路径数据库,又不影响你其他的工作.可以:

  updatedb &

-Tip40 强行退出 X

有时候在 X 里由于程序出错鼠标键盘都不起作用,这时候不用着急,因为在Linux下几乎不会像在Win 95里那样恶性死机,你只须同时按下Ctrl+Alt+BackSpace键就可以回到字符界面下了.

-Tip41 压缩可执行文件

可以使用gzexe压缩可执行文件,压缩后的可执行文件仍然可以直接执行.使用本方法可以达到节省磁盘空间的目的(如果你真的需要的话).

  gzexe gawk

-Tip42 处理文件名内含有特殊字符的文件

如果有一个文件名叫-file,如果想删除它,键入 rm -file 会显示invalid option,原来由于文件名的第一个字符为"-",Linux把文件名当做选项了,可以加--解决这个问题,如rm -- -file.如果是其他特殊字符的话可以在特殊字符前加一个/,或者用双引号把整个文件名括起来.

-Tip43 快速进入目录

键入 cd ~ 可进入用户的home目录;键入 cd - 可进入上一个进入的目录.

-Tip44 想全部删除以.开头的file或dir时你会如何干?

Wrong-> rm -r /tmp/.*
Correct-> rm -r /tmp//.*

-Tip45 修改网卡MAC地址

ifconfig eth0 down
ifconfig eth0 hw ether 00:AA:BB:CCD:EE
ifconfig eth0 up
上面的是临时性的你可以加入rc.local让它开机自动执行

-Tip46 查看网卡工作状态

#mii-tool -v
eth0: no link
product info: vendor 00:00:00, model 0 rev 0
basic mode: autonegotiation enabled
basic status: no link
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
SIOCGMIIPHY on 'eth1' failed: Operation not supported


-Tip47 如何解决sendmail和sm-client启动爆慢的问题!

造成sendmail和sm-client启动慢是因为解析的问题,解决方法将自己的主机名加入/etc/hosts中即可,例如我的主机名是linuxbox.localdomain则/etc/hosts中应该有一条
192.168.100.1 linuxbox.localdomain linuxbox
<To Be Continued>
-Tip 将一个服务加到自启动运行等级中
chkconfig --add httpd
chkconfig --level 3 httpd on

就是把httpd加到chkconfig管理中,并加在第三层启动

-Tip 在终端下调音量
aumix

-Tip 将man文件导出为文件并去掉控制符
man command | col -b >col.txt

col -b就是去掉控制符的

-Tip 查看文件夹大小
du ./ --max-depth=1

--max-depth=1是控制显示深度

-Tip 光驱弹出,弹入
eject -r 弹出
eject -t 弹入

-Tip 显示最近登入用户
last

以上命令是redhat8下有用,沒試過在其它系統中有沒有用

1.运行VNC出错,提示Xvnc: error while loading shared libraries: libstdc++-libc6.2-2.so.3
找一个compat-libstdc++-7.3-2.96.118.i386.rpm安装 了

以上是关于linux 操作技巧.(不断增加)的主要内容,如果未能解决你的问题,请参考以下文章

Android课程---Android Studio使用小技巧:提取方法代码片段

10 个你可能还不知道 VS Code 使用技巧

VS2015使用技巧 打开代码片段C#部分

26个jQuery代码片段使用技巧

VS中添加自定义代码片段——偷懒小技巧

linux下vim的使用以及高效率的技巧