sudo passwd root.重新输入密码即可激活root帐号。
2.echo $PATH,用来查看环境变量里面的值。
3.source .profile用来使修改后的环境立即生效。
4.which 命令,用来查看该命令是在那个path目录下。例如which java,which javac,which php。
5.dpkg -l | grep XXX,用来查看安装XXX软件的信息,也可以检查是否安装过了某软件。
6.查看文件内容:cat, tac, more, less, head, tail, nl
cat由第一行开始显示档案内容
tac从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
more 一页一页的显示档案内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
nl显示的时候,顺道输出 行号!
od以二进制的方式读取档案内容!
8.可以在.bashrc中给一些命令定义自己喜欢的别名 ,例如
Alias ll='ls -l'
Alias lm='ls -al|more'
Alias h='history'
用ll去成为ls -l的别名等。
9.source命令,当文件改变了,需要重新载入一次该文件,就用该命令,该命令在环境变量改变的时候,可以直接 source 文件名,而省的关闭终端使变量生效。
10.linux重定向:简单的说,就是将你目前的所得资料转到其它地方去就是了,而不把结果返回给终端。
[test @test test]# ls -al >
将显示的结果输出到 list.txt 档案中,若该档案以存在则予以取代!
[test @test test]# ls -al >> list.txt
将显示的结果累加到 list.txt 档案中,该档案为累加的,旧数据保留!
[test @test test]# ls -al 1> list.txt 2> list.err
将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err
[test @test test]# ls -al 1> list.txt 2>&1
将显示的数据,不论正确或错误均输出到 list.txt 当中!
[test @test test]# ls -al 1> list.txt 2> /dev/null
将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃!
注意!错误与正确档案输出到同一个档案中,则必须以上面的方法来写!
不能写成其它格式!
标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>
/dev/null表示无底垃圾洞
11.last命令,列出所以用户登录的次数。
12.管道(pipe)命令,用"|" 表示,例如ls -l | grep root。
ubuntu与别的linux不同,直接修改/etc/motd文件重登录后无效。因为这里/etc/motd是一个符号链接,指向/var/run/motd,应该是一个启动后在生成的文件。在版本10.04中,找到生成的脚本在目录/etc/update-motd.d/中,那几个有序号的文件就是,包括 00-header,20-cpu-checker ,90-updates-available, 98-reboot-required,10-help-text,50-landscape-sysinfo,91-release-upgrade,99-footer。修改这几个文件,可以得到自己想要的结果。
修改后用:sudo run-parts /etc/update-motd.d
22.ps aux 查看所有进城,skill -p pid 杀死进城。
23.netstat -tnl 查看本机所以端口
24.ssh端口转发,功能超级强大,比如我有需求,我能上远程mysql,但是同事不能,而他又有需求要登入到远程mysql,总不能老用我电脑吧,嘿嘿,ssh端口转发就用处来了
ssh -L <本地机器>:<本地端口>:<远程机器>:<远程端口> <ssh远程的username>@<远程机器> -Nf
它能将我本地的ip和端口,转发到远程机器的ip和端口,这样同事只要访问我机器就行了
例如:ssh -L 192.168.2.111:3308:10.xx.xx.xx:3306 che.yanbing@10.xx.xx.xx
这样同事只要mysql -uxxx -h192.168.2.111 -P3308就能访问远程的10上3306端口的mysql了
25.ssh外网代理登入公司内网,我有这样的需求,没有VPN,想在家里登入公司的电脑上去,公司有外网xxx.xxx.xxx会转发到公司内网服务器yyy.yyy.yyy,yyy.yyyy.yyy可以认识自己的电脑zzz.zzz.zzz。我要从家里的Pc登入到zzz.zzz.zzz。
首先通关代理登入到yyy.yyy.yyy,然后再端口转发到zzz.zzz.zzz
~/.ssh/config中添加:
Host venus-yyy
HostName yyy.yyy.yyy
User che.yanbing
ForwardAgent yes
IdentityFile ~/.ssh/private_key
ProxyCommand ssh xxx.xxx.xxx nc %h %p
然后ssh到venus-yyy上去:顺便端口转发:
ssh venus-yyy -NfL 127.0.0.1:8000:xxx.xxx.xxx:22
这样就做好了端口转发,再开已窗口登入:
ssh -v -p 8000 cheyanbing@127.0.0.1
这样登入127.0.0.1的8000端口,就相当于登入公司内网的自己电脑zzz.zzz.zzz,cheyanbing是 zzz.zzz.zzz上的账户
26.tail -f a.txt 可以监控a.txt数据,如果a.txt的内容会不停的变,可用它去实时查看a.txt内容,不必每次查看一会退出,再打开。
27.xargs
ls *.txt | xargs rm -rf 删除所有.txt文件
格式: find [path...] [expression] find / -name access_log 2>/dev/null 不显示错误信息 find / -amin n ##查找系统中最后N分钟访问的文件 find / -atime n ##查找系统中最后n*24小时访问的文件 find / -cmin n ##查找系统中最后N分钟被改变状态的文件 find / -ctime n ##查找系统中最后n*24小时被改变状态的文件 find / -empty ##查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹 find / -false ##查找系统中总是错误的文件 find / -fstype type ##查找系统中存在于指定文件系统的文件,例如:ext2 . find / -gid n ##查找系统中文件数字组 ID 为 n的文件 find / -group gname ##查找系统中文件属于gnam文件组,并且指定组和ID的文件 find / -mmin n # 查找在系统中最后n分钟里修改过的文件 find / -mtime n #查找在系统中最后24*n小时里修改过的文件 find / -nouser #查找在系统中属于作废用户的文件 find / -size nc #查找在系统中长度为n字节的文件 find / -size +nc #查找在系统中长度大于n字节的文件 find / -daystart ##测试系统从今天开始24小时以内的文件,用法类似-amin find / -depth ##使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容 find / -follow ##遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询 find / -help ##显示命令摘要 find / -maxdepth levels ##在某个层次的目录中按照递减方法查找 find / -mount ##不在文件系统目录中查找, 用法类似 -xdev. find / -noleaf ##禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找 find / -version ##打印版本数字 -exec command; ##查找并执行命令 -fprint file ##打印文件完整文件名 -fprint0 file ##打印文件完整文件名包括空的文件 -fprintf file format ##打印文件格式 -ok command; ##给用户命令执行操作,根据用户的Y 确认输入执行 -printf format ##打印文件格式 -ls ##打印同种文件格式的文件. 几个参数之间可以用-and,-or连接,某个参数取反可用!.
26.svn status | grep '?' | sed 's/? / /' | xargs svn add
27.删除Ubuntu的Gnome界面上无用的启动器(Launcher)
直接右键点击图标,一般只有Launch和Properties两个选项,没有删除选项,需要按住Alt键,然后再右键点击图标,可以看到“Remove from panel”字样
28.svn新家的文件复制到另一目录:svn status | sed 's/? //g'|xargs -i cp {} ../../static_ja/images/npc/
29.批量杀死某系列进程:
ps aux | grep 'http' | awk '{print $2}' | xargs sudo kill -9
30.同步远程时间:rdate -s time.nist.gov 或者netdate,ntp命令。
31.sudo init 6 //重启机器
32 logrotate .日志管理工具,方便每天生成,保留多久等。