buntu实用命令

389 篇文章 30 订阅 ¥19.90 ¥99.00
本文介绍了Ubuntu系统中一些实用的命令行操作,如修改motd文件、使用ps aux查看进程、netstat查看端口、ssh端口转发以及利用xargs进行文件删除等,帮助提升在Ubuntu环境下的工作效率。
摘要由CSDN通过智能技术生成
1.ubuntu默认root用户是不开启的,需要自己手动开启,命令如下:
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   以二进制的方式读取档案内容!
7.env命令,用来显示系统的环境变量,这些环境变量的值可以用set去改变。
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 
将显示的结果输出到 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。

13.sort将文件内容排序。具体可以sort --help查看用法。
14.cat text1.txt text2.txt text3.txt > text.txt将多个文件内容合并到一个文件里面。可以用*.txt将目录下所有文件合并到一个文件,然后再配合sort可以将内容排序。功能很强大。
15  df -lh 查看硬盘使用情况
16.rsync工具,目录同步工具可也支持远程同步,
例如:
// Venus/dev/yii同步到   Venus2/dev目录下,排除.svn目录
rsync -r --exclude='.svn/' Venus/dev/yii Venus2/dev    
//排除多个目录排除的目录文件写在list文件里
list文件如下:
.svn/
data/
tests/
en/
html_jp/
html_jp_new/
assets/
runtime/
rsync -r --exclude-from='/home/cheyanbing/桌面/list' Venus/dev/server Venus2/dev/

17.meld文件diff工具

18.du   查看文件目录占用的大小。 du -h data/

19.针对有些vim操作不习惯的问题。上下左右不习惯问题。
解决:
ubuntu中用的 vi 是 vim-tiny
redhat中用的 vi 是 vim-gnome
#apt-get remove vim-tiny
#apt-get install vim-gnome

20.要让客服端能ssh到某台机子,需要服务端机子开启ssh服务。需要安装openssh-server等ssh服务器软件。具体安装可参考网咯。

21.修改ssh成功后的欢迎界面
修改文件/etc/moth文件即可

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 -Nf

这样同事只要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 .日志管理工具,方便每天生成,保留多久等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值