在linux系统下做开发,linux命令绝对是必须熟悉的开发利器,熟悉常用的linux命令可以在很大程度上提高开发工作的效率和质量.下面是个人的一些总结与体会,不足之处敬请指正!
1.文件处理命令在linux开发中是经常需要进行文件查看,新建,删除等相关的操作,比如你想查看某个文件夹下有哪些文件,你可以执行ls命令,就能看到其包含的文件:
ls
ls是list的缩写,即列表的意思.语法:ls [选项] [文件夹路径]
通过ls --help可以发现ls命令后面还可以有不同的选项及不同的用法,这样就能有针对性的查看文件.注意help前面是两个横杠-!
ls --help
这里只介绍几个常用的ls命令
ls -a :a在这里表示all,这个命令会显示出所有的文件,包括隐藏文件.
ls -d:查看目录属性
ls -l 或ll :查看文件的详细信息,包括文件的权限,所有者,日期
(具体解析详见权限命令部分的讲解)
以上都是文件查看的命令,如果你想创建一个文件,比如你想创建一个doc文件去记录一些东西,linux提供了这样一个命令:touch 文件名,这样就能创建一个文件了,so simple, so powerful!
有时候我们也需要手工创建文件夹,比如你想把开发的软件都放到developSoft文件夹里,但是系统里并没有这样的一个文件夹,这时你可以这样创建:
mkdir developSoft
这里要注意touch和mkdir的区别,别搞混了:touch创建的是文件,mkdir创建的是文件夹!
如果某个文件或目录不想要了,我们可以使用rm命令进行删除,语法如下:
rm -r 目录 :删除目录
rm 文件 :删除文件
在图形界面,我们可以通过ctrl+c ,ctrl+v进行文件或目录复制粘贴,那么linux命令又是如何实现这样的功能的呢?
cp(copy) [源文件] [目的目录]: 复制粘贴文件
cp(copy) - R [源目录] [目的目录]: 复制粘贴目录
需要注意的是cp实现的复制粘贴功只是在本机上,如果需要将本机的文件复制到其他主机上,cp命令就无能为力了,这时要使用scp命令,语法如下:
scp [可选参数] file_source file_target file_source表示要复制的源文件,file_target表示要复制到的另一台主机的目录,例如:scp api.tgz admin@192.168.6.20x:/home/admin/work/forseti admin表示用户名,192.168.6.20x表示要复制到的主机IP,/home/admin/work/forseti是主机上要放置文件的目录.
如果你只是想把一个文件从一个目录移动到另外一个目录,不需要复制粘贴,那么可以使用mv命令打到目的.
mv(move)[源文件或目录] [目的目录]:移动文件
再到目录查看时,被移动的linux.doc文件已经不存在了.
在实际开发中,我们需要经常查看系统日志以判断系统运行情况或查找故障,这时候就遇到了如何查看文件内容的问题,在服务器上是没有图形界面的,我们没有办法点击打开文件直观地查看,这时就要使用linux提供的文件内容查看命令:
cat [文件名] :显示文件全部内容
more [文件名]:分页显示文件内容
(空格) 或f : 显示下一页
(ENTER) :显示下一行
Q 或 q :退出
head -num [文件名] : 查看文件前n行的内容
tail -num [文件名] : 查看文件后n行的内容
2.权限处理命令
Linux系统中用户大体上可分为一般用户和root两种,root拥有所有的权限.可以通过whoami查看自己的用户级别:
查看具体文件权限的命令有如下两种方法:
查看linux文件的权限:ls -l 文件名称
查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)
选择其中一个做具体分析:
drwxr-xr-x 5 hi hi 4096 9月 16 17:02 alibaba
r:表示read,w表示write,x表示execute(执行)
d:
rwxr-xr-x:将其按每三个字符一组进行分组,如下:
rwx: 可读可写可执行,对应所有者权限
r-x : 可读可执行,对应所属组权限
r-x:可读可执行,对应其他人权限
如果想改变文件的权限,可以使用chmod命令,其语法如下:
chmod [{ugo} {+-=} {rwx}] [文件或目录]
ugo三个字符依次表示所有者(user),所属组(group),其他(other)三种权限拥有者的类型.
文件搜索命令
当我们需要找到某个文件却不知道其具体路径时,可以使用linux提供的文件搜索命令find,其用法如下:
find [搜索路径] -name [搜索关键字] :查找名为关键字的文件或目录
find [搜索路径] -user 用户名:查找在某路径下某用户拥有的文件或目录
此外还可以通过locate定位文件的路径,比如你写了一个名为linux.doc的文档,但你却忘了放在哪了,这时就可以使用locate命令来定位其位置:
locate [搜索关键字] :寻找文件或目录
4.压缩解压命令
gzip 选项[文件] :只能压缩文件,且不保留源文件
gunzip 选项[压缩文件] :解压缩
tar 选项 打包后的文件名 打包目录
-c 产生 .tar 打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
压缩后的文件格式: .tar.gz
tar命令解压缩语法:
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
5.其他常用命令与技巧
Ctrl + u 一次性删除光标所在行的所有内容
alias 查看别名信息
unalias 别名 删除别名
自定义别名:
alias copy=cp
alias xrm=”rm -r”
ping : 测试网络连接是否畅通,要注意观察丢包率
history:显示用过的命令列表
<tab>键补齐文件名
Ctrl + l 清屏