您的位置:首页 > 运维架构 > Linux

【linux】常用Linux命令小合集(一)

2016-09-01 14:34 253 查看
本篇用于记录自己工作学习中长期使用到的linux命令,目的在于不记得的时候可以查询。而不是钻研每一个命令的所有用法。具体命令的详细用法可以开新篇,然后加入链接作为备注放到每一个模块后,用于进一步学习。

本篇长期置顶更新,以后都使用Markdown进行记录。

么么哒

一. 系统操作

(1) 解压缩篇

Linux gz 解压缩

Linux压缩保留源文件的方法:

gzip –c filename > filename.gz


Linux解压缩保留源文件的方法:

gunzip –c filename.gz > filename


tar 解压缩

[root@linux ~]# tar -cvf /tmp/etc.tar /etc
<==仅打包,不压缩!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc
<==打包后,以 gzip 压缩

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc
<==打包后,以 bzip2 压缩

[root@linux ~]# tar -zxvf /tmp/etc.tar.gz
=>解压

其中参数:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

   例如使用
tar -zcvfP tfile sfile
就是错误的写法,要写成

   
tar -zcvPf tfile sfile
才对喔!

-p :使用原文件的原来属性(属性不会依据使用者而变)

-P :可以使用绝对路径来压缩!

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

–exclude FILE:在压缩的过程中,不要将 FILE 打包!

(2) git 命令篇

把项目clone到本地

git clone https://github.com/jingleFun/jingleFun.github.io.git[/code] 
对本地文件做出改变后

git add main.cpp


或者直接全部添加

git add *


然后提交

git commit -m "xxx"


推送

git push <远程主机名> <本地分支名>:<远程分支名>


git push origin master


如果当前分支只有一个追踪分支,那么主机名都可以省略。

$ git push


(3) SVN命令篇

check out到本地

co和check out都可以

svn co svn://localhost/测试工具


update

svn update


add

svn add test.php


commit

svn commit -m “添加我的测试用test.php“


或者用ci也可以。

一次向SVN中增加所有文件

svn st | awk '{if ( $1 == "?") { print $2}}' | xargs svn add


删除所有的.svn文件夹

find . -type d -name ".svn"|xargs rm -rf


(4) df 和 du

du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。

df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。

当文件系统也确定删除了该文件后,这时候du与df就一致了。

du命令

[root@localhost test]# du
608     ./test6
308     ./test4
4       ./scf/lib
4       ./scf/service/deploy/product
4       ./scf/service/deploy/info
12      ./scf/service/deploy
16      ./scf/service
4       ./scf/doc
4       ./scf/bin
32      ./scf
8       ./test3
1288    .
[root@localhost test]#


其中 -s 参数是可以看到总和,使用 -h 参数,可以根据 human 化 显示大小.例如

[fangjin@cp01-rdqa-dev168.cp01.baidu.com hadoop_yq]$ du -sh hadoop/
228M    hadoop/


如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定 深入目录的层数,参数:–max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.

[fangjin@cp01-rdqa-dev168.cp01.baidu.com layer]$ du -h --max-depth=1
2.0M    ./sample
3.8M    ./combine
7.9M    ./transform
880K    ./featureinfo
24M     .


df命令

[root@CT1190 log]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda7             19840892    890896  17925856   5% /
/dev/sda9            203727156 112797500  80413912  59% /opt
/dev/sda8              4956284    570080   4130372  13% /var
/dev/sda6             19840892   1977568  16839184  11% /usr
/dev/sda3               988116     23880    913232   3% /boot
tmpfs                 16473212         0  16473212   0% /dev/shm


参考 Linux du命令和df命令区别

(5) find命令

根据名字查找
-name


find . -name "*.log"


根据大小查找
-size
,部分不支持M这种写法的,就写成200000

find / -type f -size +200M


其中,
-type
是根据类型,f表示文件file, d表示目录

(6) wget命令

wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。

使用方式很简单:

wget http://129.xxx.com/file.tar.gz[/code] 
当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如:

wget -c http://the.url.of/incomplete/file[/code] 
使用断点续传要求服务器支持断点续传。

-t参数表示重试次数,例如需要重试100次,那么就写
-t 100
,如果设成
-t 0
,那么表示无穷次重试,直到连接成功。

-T参数表示超时等待时间,例如
-T 120
,表示等待120秒连接不上就算超时。

wget可以下载文件夹,使用-r参数即可。

其他常见参数:

-c  断点续传
-r  递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录
-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/
没有加参数-np,就会同时下载path的上一级目录pub下的其它文件
-k  将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
-L  递归时不进入其它主机,如wget -c -r www.xxx.org/ 如果网站内有一个这样的链接:
www.yyy.org,不加参数-L,就会像大火烧山一样,会递归下载www.yyy.org网站
-p  下载网页所需的所有文件,如图片等
-A  指定要下载的文件样式列表,多个样式用逗号分隔
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux