`
ivan
  • 浏览: 179041 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux使用技巧(更新至2009-4-19)

阅读更多
07年开始使用ubuntu,从7.04-9.04,从一开始的linux与windows并存,到只使用linux,期间磕磕碰碰(最开始的一个星期最难受),积累下这些技巧。这些技巧大多来自网上,这里共享出来,供转入linux的朋友参考。linux桌面这两年的发展很快,现在的linux桌面已经很好用了。曾经有位仁兄建议everybody should try ubuntu;我不建议everybody,但是每个程序员,至少应该试一下使用linux作为桌面。作为日常使用的工作环境,linux绝对可以给你跟windows不一样的感受-自由的世界、丰富的选择、没有病毒与流氓软件的侵扰。随着个人的成长,你所用的操作系统也跟着成长进化,系统会越用越顺手。正如我曾经在twitter上所说的:“使用windows,终遭'毒'手;使用linux,终成高手“。 Enjoy linux!

常用命令
安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
查看某目录下文件的数目 ls -A|wc -w
mv foo.{jpeg,jpg} 这个命令将把foo.jpeg改名为foo.jpg。
系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、
crontab、 tar、 unzip、 gunzip 、last
网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
traceroute ip/hostname  Find network path to ip/hostname
系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、pswho

lspci  List PCI devices
lsusb List USB devices
free -m Display RAM+Swap usage

控制台下滚屏
SHIFT + pageUp/pageDown

amule
aMule 并不预置获取服务器地址的列表文件位置,需要自己设置。中文用户推荐在“网络”->ED2k 的服务器列表文件地址处输入 http://www.emule.org.cn/server.met,点击左侧的小箭头更新;“网络”->Kad 的服务器列表文件地址处输入 http://emule-inside.net/nodes.dat,点击左侧的小箭头更新。

在opera里关联aMule的问题办法.和关联mldonkey差不多,在工具->首先项->高级->程序里添加协议为ed2k,程序是/usr/bin/ed2k,勾选在终端打开.然后需要注意,工具->首先项->高级->网络中,要取消选中用UTF-8给国际网址编码.然后op也能正常关联amule了.

firefox 下 about:config
1. 新建一個Boolean,名字為 network.protocol-handler.external.ed2k,值為true
2. 新建一個String,名字為 network.protocol-handler.app.ed2k,值為/usr/bin/ed2k
前兩個步驟一樣,重點是接下來...
3. 安裝"amule-utils"套件,因為要用到其中的/usr/bin/ed2k程式,接著點選ed2k的連結,如果跑出詢問關聯的視窗,記住不要使用默認的,點選其他程式,照著路徑/usr/bin/ed2k找出ed2k的程式來使用

• aptitude下载包
sudo aptitude download unrar 下载包而不安装,下载到当前目录
sudo apt-get install -d unrar 下载到/var/cache/apt/archives

• cpu
安装sudo apt-get install cpufrequtils
查看cpu类型、当前频率、支持频率、运行模式等。
cpufreq-info
调整cpu运行模式
sudo cpufreq-set -g
powersave,是无论如何都只会保持最低频率的所谓“省电”模式;
userspace,是自定义频率时的模式,这个是当你设定特定频率时自动转变的;
ondemand,一有cpu计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;
conservative,翻译成保守的,也就是默认的模式,一般选择这个,会自动在频率上下限调整;
performance,顾名思义只注重效率,无论如何一直保持以最大频率运行。

sudo cpufreq-set -c 0 -f 1.33G && sudo cpufreq-set -c 1 -f  1.33G      
sudo cpufreq-set -c 0 -g conservative && sudo cpufreq-set -c 1 -g conservative

• 查看目录的磁盘占用情况
du -h --max-depth=1 | sort -n -r
我觉得,要达到这样的目的,还不如用 du -hs

find
• 删除当前目录及子目录中所有某种类型的文件
find . -name *.db -delete
find . -name CVS -delete

递归查找文件内的字符串
find ./ -name ‘*.html’ -exec grep “breadcrumbs.inc.php” ‘{}’ \; -print
这条命令将查找所有包含 breadcrumbs.inc.php 的 HTML 文件。

• 合并PDF文件
使用Gost Script和 PDFtk运行如下命令:
#gs -q -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=test.pdf -dBATCH *.pdf
结果:把当前目录下所有的 pdf 文件全部合并到 test.pdf 中。

修改mac地址
修改 MAC 地址,这一步较 Windows 中的修改要简单。

首先把网卡设备给 down 掉,否则会报告系统忙,无法更改。
sudo ifconfig eth0 down
#然后修改 MAC 地址
sudo ifconfig eth0 hw ether  00:FF:BB:CC:DD:EE #(你的MAC地址,随便啦,XXOO的,反正是0-9、A-F就行)
sudo ifconfig eht0 up #重新启用网卡
sudo /etc/init.d/networking restart #重启一下网络服务。

如果只是为了突发的访问一下其他网段的IP,可以用命令临时加一个IP,重启之后就失效。
命令如下:
sudo ifconfig eth0:0 192.X.X.X netmask 255.255.255.0 up
ifconfig eth0:2 61.144.192.242 netmask 255.255.255.192 broadcast 61.144.192.255

• root和当前用户用同样的主题
sudo ln -s ~/.themes/* /usr/share/themes
sudo ln -s ~/.icons/* /usr/share/icons

• mp3转编码
我用的是 Mutagen,除了 listen 还是不能识别意外,其它几个播放器都可正常显示中文信息了。
命令如下:
sudo apt-get install python-mutagen

使用方法:
mid3iconv -e gbk *.mp3

如果想转换当前目录下的所有 mp3 (包括子目录):
find . -iname "*.mp3" -execdir mid3iconv -e gbk {} \;

制作iso
mkisofs -r -o file.iso ~/fold
加载iso
mount -t iso9660 -o loop xxx.iso /path

samba
smb共享要点:修改配置文件,使用系统的用户。 用smbpassword设置共享用户的密码。虽然都是系统的用户,但是跟系统的密码可以不一样。
sudo smbmount //192.168.0.88/d$ /media/server1d -o iocharset=utf8,codepage=cp936,username=administrator,password=fireshort

• 搜索并替换文件里的内容
sed -i ’s/b/strong/g’ index.html
此命令搜索 index.html 文件中的 b 并将其替换为 strong。

• 创建存档文件
tar -czpf folder_name.tar.gz folder_name
该命令将 folder_name 创建为 folder_name.tar.gz 存档文件。

用 tee 显示信息同时重定向到文件
display it out as well as store into a file
echo "hello world" | tee test.txt
Append to file and display it out as well
echo"hello world" | tee -a test.txt

• mail 命令发送附件
uuencode file.txt file.txt | mail fireshort@gmail.com

• wget 使用技巧
wget 是一个命令行的下载工具。对于我们这些 Linux 用户来说,几乎每天都在使用它。
1. $ wget -r -np -nd http://ivan.iteye.com/packages/
这条命令可以下载 http://ivan.iteye.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。
   2. $ wget -r -np -nd --accept=iso http://ivan.iteye.com/centos-5/i386/
与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。
   3. $ wget -i filename.txt
此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。
   4. $ wget -c http://ivan.iteye.com/really-big-file.iso
这里所指定的 -c 选项的作用为断点续传。
   5. $ wget -m -k (-H) http://ivan.iteye.com/
      该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。

查看设备的UUID
如果设备进行过格式化,UUID 已经更新,所以要重新获取设备 ID 。
$ sudo vol_id /dev/sda5
获得类似如下的信息,记住其中的 ID_FS_UUID

也可以用ls -al /dev/disk/by-uuid

还可以直接用sudo blkid 查看。

• 英文界面使用中文输入法
修改/etc/environment
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN.GBK:zh_CN:zh:en_US.UTF-8:en_US:en"
LC_CTYPE="zh_CN.UTF-8"

cue2tracks -- 转换 cue ape 到分轨 flac
cue2tracks  -c flac -f gbk -o "/data/media/music/abc/%p-%N%t" CDImage.cue
测试
cue2tracks -R  -c flac -f gbk  -o "/data/media/music/abc/%p-%N%t" CDImage.cue
真正执行

• Linux打开文件的限制
The current setting for maximum number of open files can be viewed with the command:
ulimit -n 查看
http://haka.sharera.com/blog/BlogTopic/5374.htm

vim /etc/security/limits.conf

加上:
*        soft   nofile          8192
*        hard   nofile          20480

• 解决Ubuntu下的JAVA中文乱码
1.在 jre/lib/fonts/ 下建立个目录 fallback
mkdir /usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts/fallback/

2.在 fallback 里弄个中文字体
拷贝或链接都可以
ln -s /usr/share/fonts/truetype/arphic/uming.ttf /usr/lib/jvm/java-1.5.0-sun/jre/lib/fonts/fallback/


解决text-editor打开.txt文档乱码现象
依次打开 apps->gedit2->preferences->encodings双击右边的 “auto_detected"->add->输入:gb2312->OK->UP到它在最上边->OK。

巧用 watch 命令
在 Linux 中, Shell 命令“watch”的作用是以全屏方式重复地执行指定的命令。用户可以通过它
了解命令的运行情况。例如用户如果想实时观察内存变化,那么可以输入如下命令:
#watch free
这样就可以动态地观察内存中各个指标在某段时间内的变化情况了。

默认 watch 会以 2s 的间隔重复运行命令,你也可以用 -n 参数指定时间间隔~

还有一个实用的参数是 -d,这样 watch 会帮你高亮显示变化的区域,这样更加一目了然了~

使用opendns
To avoid having your settings get revoked after reboots, or after periods of inactivity, do this:
$ sudo cp /etc/resolv.conf /etc/resolv.conf.auto
$ gksudo gedit /etc/dhcp3/dhclient.conf
# append the following line to the document
prepend domain-name-servers 208.67.222.222,208.67.220.220;
# save and exit
$ sudo ifdown eth0 && sudo ifup eth0

Metacity 的混合特效
执行下面的终端命令来打开 Metacity 的混合特效:
gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true

要关闭 Metacity 的混合特效则执行:
gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool false

缺少公钥问题的解决方法
症状:
代码:
sudo apt-get update
W: GPG error: http://apt.tt-solutions.com dapper Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 06EA41DE4F6C1E86

解决方法:
代码:
gpg --keyserver subkeys.pgp.net --recv 4F6C1E86
gpg --export --armor 4F6C1E86 | sudo apt-key add -

说明:
若缺少其他公钥,则将命令中两处4F6C1E86改为NO_PUBKEY 06EA41DE4F6C1E86中最后8位即可!


sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com FE85409EEAB40ECCB65740816AF0E1940624A220

• bash常用命令
# ctrl+r 可以搜索历史命令,很常用的一个
# ctrl+a 到行首
# ctrl+e 到行尾
# ctrl+u 删除到行首
# ctrl+k 删除到行尾
# ctrl+l 类似 clear 命令效果
# ctrl+y 粘贴

定制 linux 提示符
   在 bash 中提示符是通过一个环境变量$PS1 指定的。用 export $PS1 查看现在的值,比较直观常用的提示符可以设定为 export PS1=“[ \u@\h \W]\$”。其中\u 代表用户名,\h 代表主机名,\W 代表当前工作目录的最后一层,如果是普通用户\$则显示$,root 用户显示#

git
创建一个版本库:git-init-db
植入内容跟踪信息:git-add
查看提交状态:git-status
提交内容到版本库:git-commit
git-commit -m "Initial commit of gittutor reposistory"
$ git-commit -a -m "new day for git"
管理分支:git-branch
创建分支
下面的命令将创建我自己的工作分支,名叫 robin,并且将以后的工作转移到这个分支上开展。
$ git-branch robin
$ git-checkout robin
git-show-branch 命令可以使我们看到版本库中每个分支的世系发展状态,并且可以看到每次提交的内容是否已进入每个分支。

更改系统时间
date 123017412008.50
date 122012301999.20 #將系統時間設為1999年12月20日12時30分20秒
当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续保持最新的正确值。 

实现彩色版的 Manpages
   1. 在你的主目录创建 .terminfo 目录,并转到该目录:mkdir ~/.terminfo/ && cd ~/.terminfo
   2. 从作者网站获取 terminfo 描述文件:wget http://nion.modprobe.de/mostlike.txt
   3. 使用 tic 命令编译 mostlike.txt 文件(编译后可删除):tic mostlike.txt
   4. 定义别名:alias man="TERMINFO=~/.terminfo/ LESS=C TERM=mostlike PAGER=less man"

fortune
可以的,自己找个txt 文件, 注意编码 utf8 , ( icov 转 gbk ) , 每小节用 % 隔开,% 单行后边不能有其他字符,
然后 sudo strfile 一下就行了 , fortune -f 可以设调用几个文件的频率 , 比如 fortune 100% tang300 就只检索唐诗了

screen
    • ctrl-a c:创建一个新的 Shell
    • ctrl-a ctrl-a:在 Shell 间切换
    • ctrl-a n:切换到下一个 Shell
    • ctrl-a p:切换到上一个 Shell
    • ctrl-a 0…9:同样是切换各个 Shell
    • ctrl-a d:退出 Screen 会话
    • When you're using a window, type C-a A to give it a name. This name will be used in the window listing, and will help you remember what you're doing in each window when you start using a lot of windows.
    • ctrl-a x: 锁定屏幕
    • Control-a ” will show all the current shells. Use the up/down cursor keys and then press enter to select a shell.
    • use Ctrl-a w and you get the list on the status line

    screen -S sessionname  create a session
screen -ls will list the current screen sessions running on a machine.
    screen -x Attach to a not detached screen. (Multi display mode).

查看路由信息:
netstat -rn
route -n
手工增加一条路由:
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
手工删除一条路由:
route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1

在命令行下面,改变图形的大小
譬如想把图形filename.bmp的大小缩小一半,可以运行:
convert -resize 50% filename.bmp filename_small.bmp

当然,如果想扩大一倍,可以运行:
convert -resize 200% filename.bmp filename_larger.bmp

However, to convert "Freedom Downtime" (starting size of 640x480) to a smaller clip (say 320x240), the command would look like this:
ffmpeg -i freedom\downtime.mpg -s 320x240 freedom\downtime\resized.mpg

If you have a 1280x800 pixel image which you want to resize to
640x400, you can do so with either:
mogrify -resize 50 in.jpg out.jpg
or:
mogrify -resize 640x400 in.jpg out.jpg
or even just:
mogrify -resize 50% in.jpg out.jpg

mogrify -thumbnail 50 in.jpg out.jpg

You can also use it to convert images using the “-format”
argument. So,
mogrify -format jpg *.png
will convert all the .png files in the current directory into .jpg format
(names will be the same).

用ssh开代理
用命令
ssh -CfNg -D 127.0.0.1:13501 -l fireshort ivan.iteye.com
后台连接到ivan.iteye.com,各个参数的含义为:
    -C 传输时压缩数据
    f 输入密码登录后,ssh进入后台运行。这样我们才可以用ssh建立一个长时间不断的Tunnel
    N 在ssh2协议中表示:不执行任何命令。我们需要的只是ssh的端口转发(tunnel)功能,所以并不需要一个shell
    g 允许远程主机连接ssh转发的端口
    -D 设置socks代理地址和端口。由于只是本机访问,所以设置为127.0.0.1:13501。如果需要在任意网络的计算机访问,可以设置成202.11x.2x.135:13501。其中13501是socks代理的端口
    -l ssh登录名。

备份系统
使用"dpkg --get-selections > pkg.list"命令来获得一个完整详尽的已装软件列表,备份我的/etc和/home文件夹到一个独立分区,然后你就可以随时恢复你的系统了,而且超简单。

• 备份已安装软件包名(手动安装的不管)
aptitude search '~i !~M' | tr -s ' ' | cut -f 2 -d ' ' > /etc/apt/installed.txt
分享到:
评论

相关推荐

    LINUX系统开发技术详解---基于ARM

    3.5 调试器GDB的使用技巧.............................................................................................. 60 3.5.1 GDB调试器介绍...............................................................

    Linux系统故障诊断与排除--James Kirkland

    第10章至第15章介绍了Linux系统其他方面的故障诊断与排除技巧,包括打印问题、安全问题、网络问题、登录问题等。  本书适用于Linux系统管理员及高级用户,对Linux系统感兴趣的用户也可将此书作为参考书。 第1章 ...

    实战Linux Shell编程与服务器管理-作者:卧龙小三(1)

    要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash ...

    实战Linux Shell编程与服务器管理-作者:卧龙小三(7)

    要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash ...

    Linux 101 hacks (2nd)

    技巧19:禁止标准输出和错误信息的输出 技巧20:join 命令 技巧21:改变字符的大小写 技巧22:xargs 命令 技巧23:sort 命令 技巧24:uniq 命令 技巧25:cut 命令 技巧26:stat 命令 技巧27:diff 命令 技巧28:显示...

    Linux从入门到精通视频.zip

    11.Linux学习技巧及运维技巧.mp4 12.Linux下构建LAMP架构.mp4 13.构建Linux下Cacti监控平台.mp4 14.Linux下Cacti深入配置.mp4 15.Linux下Kickstart自动化安装平台构建.mp4 16.Linux下构建Rsync同步服务器.mp4 17....

    RED HAT LINUX 6大全

    本书内容翔实、涉及领域广泛,并且提供了详细的例子和大量的参考资料(包括书籍、电子文档和Internet站点),是一本学习、使用和管理Linux不可多得的好书。 目 录 译者序 前言 第一部分 Red Hat Linux的介绍与安装 ...

    Linux高级bash编程

    各种小技巧 33.8. 安全话题 33.8.1. 被感染的脚本 33.8.2. 隐藏Shell脚本源码 33.9. 移植话题 33.10. 在Windows下进行Shell编程 34. Bash, 版本 2 和 3 34.1. Bash, 版本2 34.2. Bash, 版本3 35. 后记...

    Linux程序设计 第4版.haozip01

    1.2 linux程序设计 4 1.2.1 linux程序 4 1.2.2 文本编辑器 5 1.2.3 c语言编译器 5 1.2.4 开发系统导引 7 1.3 获得帮助 12 1.4 小结 14 第2章 shell程序设计 15 2.1 为什么使用shell编程 15 2.2 一点哲学 16...

    LINUX操作系统(电子教案,参考答案)

    主要包括Linux的基本概念和操作,Linux的树型结构,Linux的文本编辑,Linux的安装和启动,用户管理,Shell编程技术,进程管理,C编译器,系统扩充,维护与监视,Linux的图形界面,网络的基本概念与设置,Linux在网络...

    Linux程序设计 第4版.haozip02

    1.2 linux程序设计 4 1.2.1 linux程序 4 1.2.2 文本编辑器 5 1.2.3 c语言编译器 5 1.2.4 开发系统导引 7 1.3 获得帮助 12 1.4 小结 14 第2章 shell程序设计 15 2.1 为什么使用shell编程 15 2.2 一点哲学 16...

    Linux 快速入门

    第 4 章 常用使用技巧 46 4.1 Linux 下软件包的安装及卸载 46 4.2 Linux 操作系统的时钟系统 48 4.3 系统信息及运行状态监控 49 4.4 打包/压缩工具tar 52 4.5 文件及文件内容的查找 53 4.6 Linux 的系统服务及其配置...

    LINUX 24学时教程

    本书详细讲解了用Linux的图形配置工具配置Caldera OpenLinux,通过一个ppp与网络连接、使用K桌面环境、用StarOffice提高在家办公的效率、网络浏览、发传真、接收email及使用GIMP等图形工具。 24学时每次1小时的课程...

    LINUX系统管理白皮书

    本书同时收录了Linux领域两位领导人物的作品—相当于“Linux 文档项目”的一个印刷版本,展示了Linux 核心概念及其基本结构。对于面向所有主流Linux子系统的支持与管理任务,本书都进行了恰到好处的讲解。涵盖的主题...

    Linux内核阅读

    读核感悟-Linux内核启动-内核的生成...........................................2 读核感悟-Linux内核启动-从hello world说起...................................3 读核感悟-Linux内核启动-BIOS.....................

    [14本经典Android开发教程]-8-Linux内核阅读心得体会

    [14本经典Android开发教程] 8 Linux内核阅读心得体会 读核感悟 2 读核感悟 Linux内核启动 内核的生成 2 读核感悟 Linux内核启动 从hello world说起 3 读核感悟 Linux内核启动 BIOS 5 读核感悟 Linux内核启动 setup...

    linux集群应用实战

    第4讲 基于iscsi 在安全方面相关设定 课程目标: 如何管理和使用iscsi存储网络 initiator主机以ip认证方式获取iscsi target资源 initiator主机以密码认证方式获取iscsi target资源 第5讲 nagios综述 课程目标...

    Linux shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

Global site tag (gtag.js) - Google Analytics