1.linux常用命令
2019-08-14 本文已影响0人
looney
(1)cd命令
cd dir #进入dir文件夹
cd / #返回根目录
cd~ #返回到用户根目录
cd .. #返回上一级目录
cd ../.. #返回上两级目录
cd /root/documents #切换到目录/root/documents
cd ./path #切换到当前目录下的path目录中,“.”表示当前目录
cd ../path #切换到上层目录中的path目录中,“..”表示上一层目录
(2)ls命令--列出文件清单命令
ls命令参数:
-l :长列表。列出文件的访问权限、大小、所有者、用户分组信息、日期/时间、及文件名。
-a :列出该子目录下的所有文件,包括隐藏文件。
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
常用命令:
ls -la #使用长列表方式列出某个子目录中的全部文件
ls A* #列出子目录中以字母A打头的全部非隐藏文件
第一栏数据--文件权限
一共10个字符,第一位表示当前文件的类型:
- :普通文件 d :目录 l :链接文件
剩下的9个字符每3个为一组:
第一组为属主位 --- 属于哪一个主人
第二组为属组位 --- 属于哪一个组
第三组 --- 其他的用户对于这个文件的权限
r:可读可写(4) w:可写(2) x:可执行(1) -:无此权限(0)
(3)改变文件权限的命令
chown:改变文件的所有者
chgrp:改变文件所属用户组
chmod : 改变文件的权限
chown wendy -R ./dir #递归的把dir目录下所有文件和子目录下所有文件的所有者修改为wendy
chgrp group1 -R ./dir #递归的把dir目录下所有文件和子目录下所有文件的所属用户组修改为group1
chmod可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。
chmod 0755 file #把file的文件权限改变为-rxwr-xr-x
chmod g+w file #向file的文件权限中加入用户组可写权限
(4)mkdir命令:
mkdir dir1 #创建一个目录dir1
mkdir dir1 dir2 #同时创建多个目录
mkdir -p dir1/dir11/dir111 #创建多级目录
(5)cat命令--文本文件查看和连接工具
参数:
-n 或 --number :由 1 开始对所有输出的行数编号
-b 或 --number-nonblank :和 -n 相似,只不过对于空白行不编号
cat主要有三大功能:
1.一次显示整个文件。
cat file1 #显示整个文件内容
cat file1 file2 #同时显示多个文件的内容
2.从键盘创建一个文件。
cat>filename 只能创建新文件,不能编辑已有文件。
cat 有创建文件的功能,创建文件后,要以EOF或STOP结束:
cat 还有向已存在的文件追加内容的功能:
> 表示覆盖 >> 表示追加
3.将几个文件合并为一个文件: $cat file1 file2 > file
cat -n file1 > file2 #把file1的内容加上行号后输入到file2文件中
cat -b file1 file2 >> file3 #把file1和file2的内容加上行号(空白行不加)之后将内容追加到 file3 里。
(6)more命令
more命令功能类似cat,cat命令一次显示整个文件,如果文件较大,使用不是很方便。more命令可以按页来查看文件的内容。
参数:
-num :定义屏幕的大小,一屏显示num行
+num :从第几行开始显示
more的动作指令:
空格键 :向下滚动一屏
b :向上滚动一屏
= :输出当前行的行号
:f :输出文件名和当前行的行号
v :调用vi编辑器
! : 调用Shell,并执行命令
q :退出more命令
(7)less命令
less 与 more 类似,但使用 less 可以随意浏览文件,而且 less 在查看之前不会加载整个文件,cat和more命令在启动时就会加载整个文件。
参数:
-m :显示读取文件的百分比
-M :显示读取文件的百分比、行号及总行数
-N :在每行前输出行号
less的动作指令:
回车键或“↓”键 :向下滚动一行
y或“↑”键 :向上滚动一行
空格键 :向下滚动一屏
b :向上滚动一屏
g :跳到第一行
G :跳到最后一行
n% :跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示
v :调用vi编辑器
! : 调用Shell,并执行命令
q :退出less命令
(8)head命令
显示一个文件内容的前多少行。
head -n 10 file1 #显示文件file1的前10行内容
(9)tail命令
显示一个文件内容的后多少行。
tail -n 10 file1 #显示文件file1的最后10行内容
(10)管道命令
管道命令操作符是:“|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力。然后,传递给下一个命令,作为标准的输入 standard input.
cat file1 file2 | more #将文件file1和文件file2的内容通过管道传送到more工具,然后一页一页的查看
(11)cp命令--复制
-a :将文件的特性一起复制
-u :目标文件与源文件有差异时才会复制
cp -a file1 file2 #连同文件的所有特性把文件file1复制成文件file2
cp dir/* . #复制一个目录dir下的所有文件到当前工作目录
cp file1 file2 file3 dir #把文件file1、file2、file3复制到目录dir中
(12)mv命令--移动
该命令用于移动文件、目录或更名。
-f :force,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在,就会询问是否覆盖
mv file1 file2 file3 dir #把文件file1、file2、file3移动到目录dir
mv file1 file2 #把文件file1重命名为file2
(13)rm命令--删除
rm -f file1 删除一个叫做 'file1' 的文件'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
(14)find命令--搜索
find 命令的基本语法如下:
find [path] [option] [action]
与时间有关的参数:
-mtimen : n为数字,意思为在n天之前的“一天内”被更改过的文件;
-mtime+n : 列出在n天之前(不含n天本身)被更改过的文件名;
-mtime-n : 列出在n天之内(含n天本身)被更改过的文件名;
-newer file : 列出比file还要新的文件名
find /root -mtime0 #在当前目录下查找今天之内有改动的文件
与用户或用户组名有关的参数:
-user name : 列出文件所有者为name的文件
-group name : 列出文件所属用户组为name的文件
-uid n : 列出文件所有者为用户ID为n的文件
-gid n : 列出文件所属用户组为用户组ID为n的文件
find /home/wendy -user wendy # 在目录/home/wendy中找出所有者为wendy的文件和目录
# 与文件权限及名称有关的参数:
-name filename :找出文件名为filename的文件
-size [+-]SIZE :找出比SIZE还要大(+)或小(-)的文件
-type TYPE :查找文件的类型为TYPE的文件,TYPE的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、链接文件(l)、socket(s)、FIFO管道文件(p);
find / -name passwd #查找文件名为passwd的文件
find . -name \*.bin #在当前目录下搜索以‘.bin’结尾的文件
find . -size +12k #查找当前目录中大于12KB的文件,注意c表示byte
(15)grep命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等。
基本语法为:grep “查找的字符串” filename
(16)ln链接命令
ln -s file lnFile #建立软链接
ln file lnFile #建立硬链接
软链接相当于一个指针,不占硬盘空间。
硬链接占用硬盘空间。
(17)du、df命令
du -h #显示当前目录占用的硬盘空间大小
df -h #显示当前的分区占用的硬盘空间大小
(18)tar命令
该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:
-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,显示流程信息
-f filename :filename为要处理的文件
-C dir :指定解压的目录dir
如果想建立一个包含路径/usr/src/apache子目录中全部文件,且经过gzip压缩,名为apache.tar.gz的压缩文件,并且在操作过程中显示流程信息,可以使用下面的命令:
tar -cvz -f apache.tar.gz /usr/src/apache #压缩
压缩:tar -cvz -f packet.tar
查询:tar -jtv - f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压的目录
将当前目录下kframework目录下的所有文件进行压缩,压缩后的保存为kpacket.tar.gz:
将kpacket.tar.gz进行解压,解压到wendy目录中:
如果不指定解压的目的位置,则默认解压到当前路径下:
查询解/压缩文件: