`

Linux命令学习

 
阅读更多

Java世界中,万物皆为对象。Linux世界中,万物皆为文件...

Linux文件名最长可以是255个字符,且区分大小写。

Linux通配符包括*(0-n),?(0-1),[](范围如a-z)。

1.基础命令之ls

经常用ls,但最近发现一些没用过的ls用法如下:

ls ~/*.png   //列出当前用户的home路径下所有png文件(~是当前用户的home目录的别名)。

ls -R abc   //递归列出abc下所有文件夹下的文件。

ls -m abc   //将abc文件夹下的文件以逗号分隔列出。

ls -a   //列出隐藏文件(隐藏文件以.开头,.代表当前目录,..代表上一级目录,这两个隐藏文件在每个文件夹都存在且不能删除。)

ls -F  //列出文件类型(可执行文件、目录、管道、套接字、符号链接文件)

2.文件显示排序

ls -r  //倒序排序  ls -X //按扩展名排序  ls -t //按时间日期排序  ls -S //按文件大小排序

ls -h //以K,M,G显示文件大小

如:ls -laShr  //以文件K,M,G方式显示大小并且按照文件大小倒序排序且包括隐藏文件。

3.目录切换

直接输入cd或者cd ~  //切换到当前用户的home

cd - //切换到上次切换的目录

4.更新文件时间(创建文件)

touch test.log //更新文件时间为当前时间(如果目录下没有test.log则新建一个)

touch -t 201108232221 test.log //更新文件时间为指定时间

5.新建目录、移动(重命名)目录

mkdir -p /usr/test/info   //新建目录/usr/test/info各级目录

mkdir -v  //显示详细信息

mkdir -pv /usr/test/info  //显示创建每个文件夹的信息

mv dir1 dir2 //将dir1重命名为dir2,如果当前目录有dir2则覆盖

6.复制、删除、切换用户

cp -i //复制时提示用户确认是否复制

cp -R dir1 dir2 //递归复制文件夹

rm -i  //删除时提示用户确认是否删除

rm -v //删除时显示详细信息

rm -Rf  //递归强制删除文件夹(包括非空文件夹)

rm "abc def.png” //删除带空格的文件

rm -- -abc.png  //删除以-开头的文件(跟在--后面的任何东西都不能作为选项而是文件名称)

rm ./-abc.png  //删除以-开头的文件

su -l root 或su - root//切换用户并包含其环境变量

whoami //查看当前用户

7.帮助命令

man ls  //查看命令使用方法

man -k list //根据功能查找命令

whereis ls //告诉你命令的可执行程序,源代码,以及man page的路径.

whatis ls //显示某命令的功能.

which ls //显示默认运行哪个路径下的程序(适用于多个路径下都有某命令可执行文件)

8.组合命令

;  //连续运行多个命令,如:ls ; cd / ; whoami

&&  //只有前面的命令运行成功,才执行后面的命令.  ls && cd / && whoami

||  //仅当前一个命令运行失败,才运行下一个命令.

如:ping 192.168.1.1 || { mail -s 'Server down' admin@google.com }  //如果ping不通,发邮件

9.输入输出

$() 命令替换 接受一个命令输出并替换到另一个命令中。

如:mkdir $(date "+%Y-%m-%d")  //生成一个当前年-月-日的文件夹

|  将前一个命令的输出作为后一个命令的输入,如:ps -ef | grep java.

>  将命令的输出重定向到文件,ls -l > test.txt(test.txt如果不存在则创建,存在则完全覆盖)

>> 将命令行的输出追加到文件.

< 将文件作为命令的输入.如:echo < hand.txt

10.使用文件

cat a.txt  //查看文件内容

cat file1 file2 //将file2连在file1后面显示

cat -n file1 file2 //每行显示行号

tac a.txt //与cat正好相反,从最后一行显示到第一行.

less -N a.txt //分屏显示文件,并显示行号.

head //查看文件前10行内容.

head file1 file2 //查看多个文件前10行内容.

head -n 5 file1 file2 //查看多个文件前5行内容.

head -c 100 file1 //查看file1前100字节.

head -c 100k file1 //查看file1前100k字节.

head -c 100m file1 //查看file1前100m字节.

tail //查看文件最后10行内容.

tail -n 100 file1 //查看文件最后100行内容.

tail -f a.log //查看a.log最后10行,并一直follow,可添加-n参数.

11.拥有者和权限

chgrp admins script.sh //将sh脚本的用户组设置为admins(当前用户必须是admins组的成员).

注:只有某个用户组的成员,才能修改这个组的权限.

cat /etc/group //查看系统各用户组id和拥有者等信息.

chgrp -R admins */*  //递归修改当前目录下所有文件的用户组.

chgrp -v admins *    //查看admins组的变化详情.

chgrp -c admins *    //只显示修改过的文件.

chown shensy script.sh  //修改sh文件拥有者.

chown shensy:admins script.sh  //同时修改拥有者和用户组.

chown :admins script.sh  //与chgrp功能相同.

chmod -R //递归的修改权限.

12.归档和压缩

zip test.zip filename //zip归档压缩filename为test.zip.

zip test.zip dirname //压缩文件路径.

zip -9 test.zip filename //使用最大压缩率(但消耗时间),0代表不压缩.

zip -P 123465789 test.zip filename //压缩同时使用密码

unzip test.zip //解压缩

unzip -l test.zip //列出将要解压缩的文件

unzip -v test.zip //显示解压缩过程的详细信息

unzip -t test.zip //解压前测试zip文档是否损坏

gzip filename //使用gzip压缩,gzip压缩只会保留压缩后的文件,zip会保留原文件

gzip -r * //递归压缩,但每个文件单独压缩为一个文件.

gunzip filename.gz //解压缩

tar 只能用来归档,不能用来压缩

tar -cf a.tar *.txt //将所有txt文件归档

tar -zvtf a.tar.gz  //测试将要解开的tarball

tar -zxvf a.tar.gz //解开tarball

tar -jxvf a.tar.bz2 //解开bzip2压缩的tarball

13.查找文件

locate shensy  //搜索每天自动更新的文件名数据库查找shensy

locate -i shensy  //搜索且不区分大小写

locate shensy | less //分屏显示搜索结果

locate -n 3 shensy  //只搜索前3个结果

time updatedb  //更新本地文件名数据库,并显示时间

14.搜索

grep shensy a.txt  //检查a.txt中是否包含shensy

grep -R shensy * > a.txt //递归搜索shensy这个词并把结果写入a.txt

grep -i shensy a.txt  //忽略大小写

grep -w shensy a.txt //只搜索shensy整个词

grep -n shensy a.txt //搜索且显示行号

ls -l | grep java  //在ls -l的输出中搜索包含java的信息

ls -l |grep -B 3 java  //显示包含java及前3条信息

ls -l |grep -A 3 java  //显示包含java及后3条信息

ls -l |grep -C 3 java  //显示包含java及前后3条信息

ls -l |grep -v java //显示不包含java的信息

grep | grep  //在搜索结果中进行搜索

find  . -name java //根据文件名搜索文件

find  . -user shensy //根据拥有者搜索文件

find  .  !  -user shensy //搜索结果取反

find  .  -size +10M  //搜索大于10M的文件(不包含10M)

find  home/ -type d //搜索home下的文件夹

(注:f普通文件,d目录,l软连接,b块文件,c字符文件,s套接字,p FIFO文件)

15.shell

history | less //分屏查看命令行历史

!! //再次运行刚刚使用过的命令

!cat //再次运行以前运行过的cat命令

alias //显示所有命令别名

alias lsd=‘ls -d’ //对ls -d创建别名lsd

unalias lsd //删除lsd别名

16.系统资源

ps aux //查看当前正在运行的所有进程

ps U shensy //查看shensy拥有的进程

kill -15 123 //正常关闭123号进程

kill -9  123  //立即关闭123号进程

top //查看进程动态更新列表

lsof | less //查看系统打开的文件

free -m //查看系统内存状态(单位MB)

df -h //查看磁盘空间(以可读方式)

du -h //报告目录文件的空间(以可读方式)

du -hs //报告目录文件的总空间(以可读方式)

17.安装软件

rpm -Uhv  [package] [package]   //更新安装.rpm的程序(需要root权限)

rpm -e [package]  //删除rpm程序

yum install [package]  //使用yum安装rpm软件包及依赖包

yum remove [package] //使用yum卸载rpm及其依赖包(如果依赖包没有被别的包依赖)

yum update //查找系统中所有rpm软件包的更新

yum list available | grep [string]  //搜索软件包

18.连接

ifconfig -a //查看网络接口状态

ping -c  10  www.baidu.com  //ping发送10次

traceroute -m 40 www.baidu.com //跟踪数据包在两台主机之间经过的路由(最大跳转40次)

host www.baidu.com  //获取与域名相关联的IP (host ip同样可以获得域名)

iwconfig //查看无线网络接口状态

route //显示路由表

19.使用网络

rync -v  //有效安全的备份文件,只发送文件变化的部分

wget和curl  //下载资源、网站、URL

 

至此,linux命令的学习先告一段落。

这里记录的只是一些基本操作命令,如果在工作中遇到其它命令可以使用man指令查看,或从网上查找相关使用方法。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics