Linux常用命令

因为先前做的是Android App开发,开发环境一直用的Windows或者Mac系统。做过App的同学应该知道,编译,打包apk等操作,Android Studio中已集成的工具(gradle等)都能搞定,非常方便。从去年开始接触Android系统开发,开发环境也更换为了Ubuntu系统,在linux平台进行各种操作,不管是办公等基本操作还是对Android源码的编译等,自然是通过命令来完成了。所以,首先学习一下linux命令,实在是个当务之急的事了。现在把当初基础学习时,总结的一些常用指令贴出来,以供需要的人和自己查阅。

切换工作目录:cd

格式:cd  绝对路径/相对路径

cd ..    cd ../..    回到上级目录/上上级目录, 以此类推 

cd ~    Home目录  

cd -    进入上次所在的目录

列出目录内容:ls

ls  -a  -l  -h  -alh

-a  显示指定目录下所有子目录和文件,包括隐藏文件

-l  以列表方式显示文件的详细信息 

-h  配合-l以人性化的方式显示文件大小

打开目录:nautilus

格式:nautilus 路径

当前所在目录:nautilus .

显示当前目录路径:pwd

自动补全:Tab键

查看帮助文档 

1. 命令 --help  eg: ls --help    一般linux命令自带的帮助信息

2. man  linux提供的一个手册,包含了绝大多数的命令、函数使用说明

手册分成许多章节(section),使用man时,可以指定不同的章节来浏览。

eg: man ls;   man 2 printf

查看历史命令: history

列出输入过哪些命令

ls过滤:

通配符: * 文件名中所有字符,? 文件名中一个字符

ls *.a      ls 1?3.py

ls 1[1234]3.py    ls  1[1-4]3.py

[abc]匹配a,b,c中的任意一个    [a-f]匹配从a到f范围内的任意一个字符

ls [a-f]*  找到从a到f范围内的任意一个字符开头的文件

\  如果要使通配符作为普通字符使用,可以在前加上转义字符。

ls \*.a 转义字符    就是只要文件名为 *.a的文件

输出重定向命令:

linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中

ls > text.txt    覆盖

ls >> text.txt  追加

cat  text.txt  仅仅显示文件内容

more  分屏显示  (用的不多)

管道:|

一个命令的输出可以通过管道作为另一个命令的输入。

ls -alh | more

清屏:clear

创建文件:touch

创建目录:mkdir

通过mkdir命令可以创建一个新的目录。参数 -p 可递归创建目录

mkdir  test 

mkdir a/b/c -p

删除目录:rmdir

可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。

删除文件:rm

可使用rm命令删除文件或目录。文件删除后不能恢复。为防止文件误删,可以在rm后使用-i参数以逐个确认要删的文件。

-i  以进行交互式方式执行

-r  强制删除,忽略不存在的文件,无需提示。

-f  递归的删除目录下的内容,删除文件夹时,必须加此参数

eg:rm -rf  文件路径

软链接和硬链接:

建立链接文件:ln

linux下的链接文件相当于windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

使用格式:软链接为 有-s参数

ln 源文件 链接文件

ln -s 源文件 链接文件   

硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在。

查看或者合并文件内容:cat

cat 1.txt 2.txt  >  3.txt

文件搜索命令:grep (常用)

一般格式:  grep [-选项] "搜索内容串"  文件名

常用选项说明:

-v  显示不包含匹配文本的所有行(相当于取反)

-n  显示匹配行及行号

-i  忽略大小写

-r  逐层遍历目录查找

--include  指定匹配的文件类型

eg:在当前目录及所有子目录查找所有java文件中查找blue,并输出到指定文件

grep -r "blue" . --include "*.java" > ../blue.txt     

grep 搜索内容串可以是正则表达式。

grep 常用正则表达式:

^a  行首,搜以a开头的行       grep -n "^a"  1.txt

ke$ 行尾,搜以ke结尾的行    grep -n "ke$"  1.txt

[Hh]ello, 匹配[]里一系列字符中的一个

查找文件命令:find

find命令通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。

find ./ -name text.sh  查找当前目录下所有名为test.sh的文件

find ./ -name "*.sh"

find ./ -name "[A-Z]*"

find /tmp -size 2M 查找/tmp目录下等于2M的文件

find /tmp -size +2M    find /tmp -size -2M

find ./ -prem 0777 查找当前目录下权限为777的文件或目录

拷贝文件:cp

常用选项说明:

-a 通常在复制目录时使用, 保持文件原有属性

-f 已经存在的目标文件而不提升

-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认

-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须是一个目录名 (常用)

-v 显示拷贝进度

eg:cp -ivr vim_ configure/ code/  把文件夹vim_ configure 拷贝到code目录里

移动:mv

此命令相当于windows系统中的剪切-粘贴

tip:重命名一个文件也为此命令,eg:mv 1.txt  1.1.txt

查看命令位置:which  (用的不多)

which ls

是否是超级管理员:

查看终端首行: $ 普通用户    #超级管理员

进入超级管理员: sudo -s 


归档管理(打包):tar

把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据

使用格式  tar [参数] 打包文件名 文件

tip: tar命令很特殊,其参数前面可以使用“-” ,也可以不使用

常用参数:

-c 生成档案文件,创建打包文件

-v 列出归档解档的详细过程,显示进度

-f 指出档案文件名称,f后面一定是.tar文件,所以必须放选项最后

-t 列出档案中包含的文件

-x 解开档案文件

注意:除了f要放在参数最后,其它参数顺序任意

tar -cvf  test.tar 1.txt 2.txt 3.txt

tar -xvf  test.tar

文件压缩解压缩:gzip

用gzip压缩tar打包后的文件 ,扩展名一般用xxxx.tar.gz

使用格式一般如下:

gzip [选项] 被压缩文件

常用选项 :

-r 压缩所有子目录

-d 解压

gzip -r test.tar test.tar.gz

gzip -d test.tar.gz

tar命令没有压缩功能,它只是一个打包命令,在tar命令中增加一个选项(-z)可以调用gzip实现一个压缩的功能。实现一个先打包后压缩的过程。

tar -vczf  压缩包包名  文件1 文件2..... 

tar -zxvf  压缩包包名 (解压缩,常用命令)

-C 解压到指定目录

文件压缩解压缩 bzip2

用法和gzip一样,后缀名为 tar.bz2 。增加一个选项(-j)可以调用bzip2实现一个压缩的功能

文件压缩解压缩:zip unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。

压缩文件: zip [-r] 目标文件(没有扩展名) 源文件

解压文件: unzip -d 解压后目录文件 压缩文件

zip myzip *.*

unzip -d test myzip.zip


系统相关命令:

<1> 查看当前日历: cal

<2> 显示或设置时间 : date

<3> 查看进程信息: ps 常用 ps -aux

ps命令可以查看进程的详细状况,常用选项(可以不加“-”)如下:

-a  显示终端上的所有进程,包括其他用户的进程。

-u  显示进程的详细状态

-x

-w

-r  只显示正在运行的进程

与管道命令和搜索命令配合使用:ps -aux | grep "java"

查看手机进程:adb shell ps | grep "fmradio"

<4> 动态显示进程 top

<5> 终止进程 kill    kill -9 进程号

<6> 关机重启:reboot 、shutdown 、init

reboot 重启操作系统

shutdown -r now 重启操作系统,shutdown会给别的用户提示

shutdown -h now 立刻关机

shutdown -h 20:25 系统在今天20:25会关机

shutdown -h +10 系统再过10分钟自动关机

init 0 关机

init 6 重启

<7> 检测磁盘空间:df

df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示文件系统对节点和磁盘块的使用情况。

df -lh  查看硬盘情况

<8> 检测当前目录所占磁盘空间:du

du命令用于统计目录或文件所占磁盘空间的大小,执行结果与df类似,du更侧重于磁盘的使用状况。

du命令的使用格式:du [选项] 目录或文件名

du -a    du -alh  当前目录空间占用情况

sudo du -s /home

<9> 查看或配置网卡信息:ifconfig

<10> 测试远程主机连通性:ping


下篇:Linux命令-用户、权限管理

你可能感兴趣的:(Linux常用命令)