[少但最常用] Linux入门指令

        网上已经有很多这方面的教程了,他们都整理得很全面,但是太过全面反而对开始的入门和使用造成了一些困难。It's best only when it fits you. 我将持续更新这个文章以记录我学习过程中使用过的Linux命令。需要说明的是,现阶段我的工作主要使用ssh的方式操作在X86服务器上运行的ubuntu系统。

Linux的命令结构

命令包含:命令 、命令参数 、命令对象。它们之间以空格隔开

命令参数分为长格式和短格式

命令参数的长格式:--单词 例如:find --name
命令参数的短格式:-字母  例如:list -a

一、目录操作

1.1 目录切换 cd (change directory)

cd /     切换到根目录
cd ..    返回上一级目录
cd ~     返回到home目录
cd -     切换到上一次访问的目录
cd /A/B  切换到目录/A/B

 1.2 查看目录内容 ls (list)

        linux中一切皆文件,目录也是文件的一种,ls命令(list)可用于列出指定路径下的文件,如果不指定路径,单独运行ls命令而不指定[target path],则默认路径为当前路径。ls命令的使用方式如下:

ls [-options] [target path]

ls常用的附加选项如下所示:

ls -a    显示指定路径中的所有文件,包括隐藏文件
ls -l    显示文件的详细信息,包括文件类型,权限,所属用户,所属用户组,文件大小,上一次修改时间等
ls -h    文件大小以KBytes为单位显示
ls -S    按照文件大小顺序显示,从大到小
ls -Sr   按照文件大小顺序显示,从小到大

注意参数可以叠加使用,短格式可以直接合并

ls -al    显示路径中所有文件,并显示详细信息
ls -alhS  显示路径中所有文件,显示详细信息并按照大小排序

1.3 目录创建 mkdir (make directory)

        其功能是用来创建目录文件,使用简单,但需要注意若要创建的目标目录已经存在,则会提示已存在而不继续创建,不覆盖已有文件。而目录不存在,但具有嵌套的依赖关系,例如a/b/c/d/e/f,要想一次性创建则需要加入-p参数,进行递归操作。语法格式为:

mkdir [options] [dirtectory]

常用的参数有:

mkdir -p    创建多级目录
mkdir -m    建立目录的同时设置目录的权限
mkdir -z    设置安全上下文
mkdir -v    显示目录的创建过程

其中默认参数创建目录以及创建多级目录用的比较多:

mkdir dir1
mkdir -p /dir1/dir2/dir3/dir4/dir5

1.4 目录删除 rmdir (remove directory)

注意rmdir只能用于删除空目录,否则将删除失败,目录非空时,需要使用rm指令,详见后文。

rmdir [option] directory

同样也可以用于删除多级目录,但是需要其为空目录。

rmdir dir1
rmdir -p dir1/dir2/dir3

二、文件操作

1.1 创建空文件/更改文件访问时间 touch

以.c文件举例:
touch nonexist_file.c    创建文件
touch exist_file.c       修改文件时间戳
touch -a file.c          修改文件访问时间
touch -m file.c          修改文件修改时间
touch -c file.c          若文件存在修改时间戳,不存在不创建

1.2 删除文件或目录 rm (remove)

rm 是强大的删除命令,它可以永久删除文件系统中指定的文件或目录。在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息。此命令的基本格式为:

rm [options] file/directory

参数说明(注意rm的对象可以是文件和目录):

rm -f    忽略不存在的文件和参数,不要提示
rm -i    每次删除前都会提示
rm -r    递归地删除目录及其内容
rm -d    删除空目录
rm -v    列出详细信息
常用组合:
rm -vr   递归删除目录及文件且提示信息,并显示删除信息
rm -rf   递归删除目录及文件或文件不提示信息

 1.3 文件复制 cp (copy)

  • cp 命令的原意为 copy,该命令的功能为将一个或多个源文件复制到指定的目录。
  • 默认情况下,该命令不能复制目录,若要复制目录,需要同时使用 -R 选项。
  • 所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。

其基本格式为:

cp [options] file directory

常用参数:

cp ../mary/homework/assign .    指定文件复制到当前目录下
cp file /usr/men/tmp/file1      将文件file复制到目录/usr/men/tmp下,并改名为file1
cp -r /usr/men /usr/zh          目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中
cp -f file /usr/men/tmp/file1   强行复制文件或目录,无论目的文件或目录是否已经存在

1.4 文件移动 mv (move)

        mv 命令的原意为 move,该命令用于移动文件或目录。若同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则该命令会将前面指定的多个文件或目录复制到最后一个目录。

mv [options] source target

此处的source和target既可以是文件,也可以是目录,举例:

mv file1 file2        其中file1和file2在同一目录下

若file2存在,则表示用file1的内容覆盖file2,并删除file1
若file2不存在,则表示将file1的名字改为file2,并删除file1
注意:剩下的都是file1的内容加file2的名字
mv -i file1 file2        操作前提示是否确定操作
mv file1 file2 dir1      把file1和file2移动到dir1里
mv dir1 dir2             dir2不存在,把dir1改名。dir2存在,把dir1放到dir2中,相当于下一层目录。
mv file dir1

1.5 文件查看 (cat, head, tail, more)

cat (concatenate and diplay) 连接和显示文件,将文件中的内容打印到输出设备。

cat a.txt

more (显示大文件) 用于分页显示文件内容,在使用 more 命令分页显示文件内容时,可用快捷键进行翻页等操作,快捷键如下表:

  • f/Space        显示下一页
  • Enter            显示下一行
  • Q/q               退出
more a.txt

head/tail 用于查看文件内容,该命令可指定只查看文件的前 n 行或后n行

head -4 a.txt
tail -5 a.txt

三、文件解压缩

这个部分用的比较多也比较复杂,单独列出来讲一下。

在Linux操作系统中,一切皆文件,因此我们总会跟文件打交道。而事实上linux的文件系统中文件的扩展名并没有什么实际的作用,那为什么会有这样的扩展名呢?

这是因为Linux支持的压缩命令非常多,且不同的命令所使用的压缩技术并不相同,使用扩展名以让你知道该文件是使用了哪种压缩命令压缩的,以便解压缩。

常见的压缩方法有:

*.Z			compress程序压缩的文件;
*.zip		zip程序压缩的文件;
*.gz		gzip程序压缩的文件;
*.bz2		bzip2程序压缩的文件;
*.xz		xz程序压缩的文件;
*.tar		tar程序打包的文件,没有被压缩;
*.tar.gz	tar程序打包的文件,经过gzip的压缩;
*.tar.bz2	tar程序打包的文件,经过bzip2的压缩;
*.tar.xz	tar程序打包的文件,经过xz的压缩;

注意:.tar事实上是一种打包方法,而没有压缩功能。通常压缩与解压缩仅能针对一个文件,如此以来,每次压缩与解压缩都要一大堆文件操作性不强,这个时候,打包(.tar)就显得非常重要。

gzip

gzip所建立的压缩文件拓展名为.gz,需要注意的是,当使用gzip进行压缩时,压缩之后源文件就不再存在了

gzip [-cdtv#] filename

各项参数介绍如下:

gzip -c filename    将解压缩的数据输出到屏幕上,可通过数据流重定向来处理
gzip -d filename    解压缩功能
gzip -t filename    可以用来检验一个压缩文件的一致性,看看文件是否有错误
gzip -v filename    可以显示出原文件和压缩文件的压缩比等信息
gzip -# filename    #为数字的意思,代表压缩等级,其取值在[1-9],其中1最快,压缩比最差,9最慢,压缩比最好,默认情况下是6;

bzip2和xz

gzip ~ bzip2 ~ xz 是一个压缩比越来越好,但是执行时间越来越长的变化。如果你在意时间成本,可以使用 gzip ,如果想压缩的更好,使用 xz,而bzip2则比较折中。

bzip2 -c filename    将压缩过程产生的数据输出到屏幕上
bzip2 -d filename    解压缩功能
bzip2 -k filename    保留原始文件,而不删除原始文件
bzip2 -z filename    压缩的参数(默认值,可不加)
bzip2 -v filename    可以显示出原文件和压缩文件的压缩比等信息
bzip2 -# filename    压缩比参数
xz -d filename    解压缩功能
xz -t filename    可以用来检验一个压缩文件的一致性,看看文件是否有错误
xz -l filename    列出压缩文件的相关信息
xz -k filename    保留原始文件,而不删除原始文件
xz -c filename    将压缩过程产生的数据输出到屏幕上

tar

这个指令不仅仅可以对文件进行打包,同时可以通过压缩指令的支持,将文件同时进行压缩。通常我也是直接使用这个指令。

压缩与解压缩.tar.gz文件:

tar -zcvf new_filename.tar.gz dirname    将目录dirname下的文件打包压缩到new_filename.tar.gz中
tar -zxvf new_filename.tar.gz -C dirname    将new_filename.tar.gz中的文件打包压缩到目录dirname下

压缩与解压缩.tar.bz2文件(如果是xz文件则将参数替换为-Jcvf/-Jxvf):

tar -jcvf new_filename.tar.bz2 dirname    将目录dirname下的文件打包压缩到new_filename.tar.bz2中
tar -jxvf new_filename.tar.bz2 -C dirname    将new_filename.tar.bz2中的文件打包压缩到目录dirname下

不解压直接查看压缩包中的文件名:

tar -ztvf filename.tar.gz
tar -jtvf filename.tar.bz2
tar -Jtvf filename.tar.xz

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iTsta_zx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值