赞
踩
目录
七、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d
在学习Linux指令之前,我们需要明白文件的定义:
文件=文件数据(内容)+文件属性(时间,大小,状态等)
目录是文件(文件夹),文件夹也是文件
Linux的设计理念为“一切皆文件”
pwd 是 Linux 中的一个常用命令,用于显示当前工作目录的路径。
pwd
命令不需要任何参数,直接在终端输入即可
例如,如果你当前的工作目录是 /home/user/Documents
,则在终端输入 pwd
命令后,会输出如下结果:
/home/user/Documents
表示当前的工作目录是 /home/user/Documents
。可以通过 cd
命令来切换工作目录,然后再使用 pwd
命令来确认当前的工作目录
对于目录,该命令列出该目录下的所有子目录与文件。
对于文件,将列出文件名以及其他信息。
ls [option] [file/directory]
其中,option
表示命令选项,可以是多个选项的组合;file/directory
表示要列出的文件或目录名称。
下面是几个常用的 ls
命令选项:
-l(ll)
:以长格式显示文件和目录信息,包括权限、所有者、大小、修改时间等。-a
:显示所有文件和目录,包括以 . 开头的隐藏文件和目录。-h
:以易读的方式显示文件和目录的大小,比如使用 KB、MB 这样的单位。-t
:按照修改时间排序,显示最新修改的文件和目录在前面。 例如,要列出当前目录下所有文件和目录的名称,可以直接输入 ls
命令。如果需要以长格式显示,则可以加上 -l
选项:
ls -l 或者 ll
如果需要显示所有文件和目录,包括隐藏文件(以点开头的文件,看下面第三点)和目录,则可以加上 -a
选项:
ls -a 或 ls -la
若我们要指定显示某个目录下的所有文件和目录的名称,可以ls /路径指定显示
或者我们只想看这个目录(或文件)的属性,可以ls -ld /路径
Linux系统(几乎所有的系统中)中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件
cd是一个命令,它用于改变当前工作目录
cd命令的基本语法如下:
cd [目录路径]
可以使用cd命令切换到其他目录。
cd /path/to/directory
cd path/to/directory
3.切换到上一级目录
cd ..
4.切换到主目录:
cd
5. 切换到前一个目录
cd -
6.进入家目录
cd ~
.
. 表示当前目录
..
.. 表示上级目录
1.并且每个目录中都会存在 . 和 .. 的这两个文件(包括空目录),就像是一棵树中每个节点中都会存在 . 指向自己,.. 指向父节点
2.以 . 开头的文件为隐藏文件,只有用ls -a/la/a-l 可以看见
绝对路径:从根目录开始,定位一个叶子文件的方式,形成的路径
在系统中无论你在哪都能唯一定位一个文件
相对路径:相对于当前自身所处目录为参考点,定位一个文件的路径
了解了什么是路径之后,不妨思考一下,为什么要有路径?
这里的答案是 因为路径具有唯一性,可以很好的定位文件
如果你想验证Linux磁盘上的文件和目录是否是树状结构,不妨试试tree命令
tree命令会将文件路径以树状结构显示出来
注:有些Linux中可能没有带这个命令,需要自行下载(CentOS版本可以输入:yum install -y tree) ,下载需要root权限
用于创建新的空白文件或者更改已有文件的访问和修改时间。
touch
命令的基本语法如下:
touch [选项] 文件名
创建新文件:
touch filename
递归创建文件:
touch -r existingfile newfile
mkdir
是一个常用的命令,用于创建新目录。
mkdir
命令的基本语法如下:
mkdir [选项] 目录名
以下是一些常见的 mkdir
命令的用法示例:
创建新目录
mkdir dirname
递归创建目录
mkdir -p /path/to/new/directory
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
rmdir
和rm
都是在Linux系统中用于删除文件或目录的命令,但它们有一些不同之处。
rmdir
指令:
rmdir
命令用于删除空目录(因为只能删除空目录,所以不建议使用)。
基本语法如下:
rmdir [选项] 目录名
注意,如果目录非空,则无法使用rmdir
删除目录。
rm
指令(删除用这个就行):
rm
命令用于删除文件和目录。基本语法如下:
rm [选项] 文件名/目录名
要删除非空目录及其内容,可以使用-r
或-R
选项来进行递归删除(系统会询问是否删除)。
例如,要删除一个名为dirname
的目录及其内容,可以运行以下命令:
rm -r dirname
或者使用-rf
选项来强制删除目录及其内容(系统不再询问你是否删除):
rm -rf dirname
使用rm -rf *删除当前目录下的所有目录
* :一种Linux中的通配符,表示指定路径下的所有文件!(不包括隐藏文件)
rm -rm *
对于root用户,在删除是会显示是否删除,输入y同意删除,n拒绝删除
但对于普通用户,在删除时可能不会询问你是否删除,如果你想要系统询问你是否删除,可以使用rm -i/ri 删除
rm -i a 或 rm -ri a
注意!!!在使用rm
命令时要特别小心,因为删除的文件和目录无法恢复
(删库跑路警告!)
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是 man
man
命令的基本语法如下
man [选项] 命令
例如,要查看ls
命令的手册页,可以运行以下命令:
man ls
man
命令提供了许多选项,可用于控制输出格式、搜索关键字、指定节号等。以下是一些常见的选项:
-f
:显示与命令相关的所有手册页;-k
:搜索关键字,并显示与其相关的手册页;-a
:显示所有匹配的手册页;-S
:指定手册页所属的节号;-s
:指定手册页的主题(主要为命令和函数)。
cp
指令是在Linux和其他类Unix操作系统中用于复制文件和目录的命令。它将源文件或目录复制到指定的目标位置。
cp
指令的基本语法如下:
cp [选项] 源文件 目标文件
例如,要将文件file1.txt
复制到目录/path/to/directory
,可以运行以下命令:
cp file1.txt /path/to/directory
如果要复制整个目录及其内容,可以使用-r
或-R
选项来进行递归复制,或者用-rf强制复制:
cp -r/rf sourcedir targetdir
如果要复制某个目录下的所有文件及其内容,可以使用cp -rf 目录路径/* 新路径:
(不包括隐藏文件)
cp -rf m1/* m2/a
如果想复制文件或者目录到另一个路径下,并且修改名字,可以使用 cp 原文件/目录 新路径/新名字
cp -rf m1/a m2/A
同一目录下不能有同名文件,如果我们想在同一目录下拷贝一份相同的文件或目录,则需要改名字,否则就会失败或覆盖
cp
指令还提供了其他一些常用的选项:
-i
:在复制之前进行交互式确认。-u
:只复制比目标文件新或不存在的文件。-v
:显示详细的复制信息。-p
:保留源文件的权限、时间戳等属性。-f
:强制覆盖已存在的目标文件。
mv
指令是在Linux和其他类Unix操作系统中用于剪切粘贴文件和目录的命令。它将源文件或目录剪切粘贴到指定的目标位置。
语法与cp类似
如果mv的不是目录而是一个文件名,则会变成重命名
查看目标文件的内容
cat
指令的基本语法如下:
cat [选项] 文件
例如,要查看名为code.c的文件的内容,可以运行以下命令:
cat code.c
cat
指令还提供了一些其他常用的选项:
-n
:显示每行前面的行号。-b
:仅对非空行显示行号。-s
:将多个连续空行压缩成一个空行。-A
:显示特殊字符(如换行符、制表符等)。-v
:显示不可打印字符的可见表示。
more 文件名
more命令,功能类似 cat
常用选项: -n 对输出的所有行编号
q 退出more
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看
但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用 来查看一个文件的内容!
除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。
使用less指令非常简单,只需要在命令行中输入"less"命令,后跟要查看的文件名即可。例如:
less filename.txt
-i 忽略搜索时的大小写
-N 显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
head指令是一个在Unix和Linux系统中常用的命令行工具,它用于查看文本文件的前几行。
默认情况下,head会显示文件的前10行。
使用head指令非常简单,只需要在命令行中输入"head"命令,后跟要查看的文件名即可。
例如:
head filename.txt
如果你想查看文件的前N行,可以使用"-n"选项,如下所示:
head -n filename.txt
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块
head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
它用于查看文本文件的最后几行。默认情况下,tail会显示文件的最后10行。
使用tail指令非常简单,只需要在命令行中输入"tail"命令,后跟要查看的文件名即可。例如:
tail filename.txt
如果你想查看文件的最后N行,可以使用"-n"选项,如下所示:
tail -n filename.txt
如果我们想查看某个文件的中间内容呢?例如提取file.txt文件的80000-80010行
首先我们的想法是先提取前80010行,再提取尾部的10行
要实现这种操作,我们可以使用命令行管道来连接两个指令
head -80010 file.txt | tail -10
在Linux系统中,echo
是一个常用的命令行指令,用于向标准输出打印文本或变量的值。
它的基本语法如下
echo [选项] [文本或变量]
1.我们可以用echo直接在显示器上输出(像显示器输入)
2.向文件中输入(> 输出重定向)
1.将本来应该显示在显示器上的内容输入到文件当中去,如果没有文件,就会创建新文件
没有输入默认生成空文件 (> 111.txt)
2.再次输入时会覆盖原内容
3.向文件中追加输入(>> 追加重定向)
输出重定向 > 会清空原来的文件进行写入,如果我们想不清空而是追加可以用追加重定向 >>
一些常用的选项包括:
-n
:不在输出末尾添加换行符。-e
:启用对转义字符的解释。
类似于打开Windows的记事本
Ctrl + X
组合键可以退出nano编辑器。如果在编辑过程中对文件进行了修改,nano会提示用户是否保存修改。Y
确认保存,然后可以输入新的文件名(如果需要)或直接回车以使用原文件名保存。N
放弃保存修改,直接退出nano。定义或显示别名
通过使用alias指令,用户可以将一些较长的命令或复杂的命令组合简化为一个简短的别名,从而提高工作效率
对文本文件的行进行排序
默认按照字典顺序(即字母顺序)对文本行进行排序
-n
:按照数字大小进行排序,而不是按照字典顺序-r
:逆序排序-u
:去重,只显示唯一的行(连续的重复行只显示一次)-t
:指定字段分隔符,默认是空白字符(空格和制表符)-k
:根据指定的字段进行排序,字段编号从1开始。-k
选项通常与 -t
一起使用来指定字段分隔符-o
:将排序结果输出到指定的文件中,而不是标准输出(stdout)-b
:忽略每行前面的空白部分主要用于删除或报告文件中重复的行。
由于 uniq
只能对相邻的重复行进行操作,因此它经常与 sort
指令结合使用,以确保所有重复的行都相邻。
-c
或 --count
:在每行前面显示该行在文件中出现的次数。-d
或 --repeated
:仅显示重复的行,每个重复组只显示一次。-D
:显示所有重复的行,包括重复的内容。-i
或 --ignore-case
:在比较行时忽略大小写差异。-u
或 --unique
:仅显示不重复的行。-w N
或 --check-chars=N
:仅比较每行的前 N 个字符。 chdir 新路径(工作目录)
find是一个在Unix和Linux系统中常用的命令行工具,用于在指定的目录下搜索文件和目录。
当你在命令行中输入"find"命令时,它会按照指定的条件在指定的目录下进行递归搜索,并返回匹配的文件和目录列表。
find命令的基本语法如下:
find [path] [expression]
其中,[path]是要搜索的目录路径,可以是绝对路径或相对路径。
如果省略[path]参数,则默认从当前目录开始搜索。
[expression]是用于指定搜索条件的表达式。
以下是一些常用的find命令选项和表达式:
- "-name pattern":按文件名匹配搜索。pattern可以是简单的通配符或正则表达式。
- "-type type":按文件类型搜索。type可以是"f"表示普通文件,"d"表示目录,"l"表示符号链接等。
- "-size size":按文件大小搜索。size可以是以字节计的大小值,也可以使用特殊符号来表示不同的大小关系(如+表示大于,-表示小于)。
- "-mtime n":按文件修改时间搜索。n表示天数,表示在n天之前进行修改的文件。
- "-user username":按文件所有者搜索。
- "-group groupname":按文件所属组搜索。
以下是一些示例:
1.-name 按照文件名查找文件
find -name 111
2.在当前目录下搜索所有以".txt"结尾的文件
find . -name "*.txt"
3.在"/home"目录下搜索所有的目录
find /home -type d
4.在当前目录下搜索大小大于1MB的文件
find . -type f -size +1M
grep是一个在Unix和Linux系统中常用的命令行工具,用于在文件中搜索指定的模式或字符串。
当你在命令行中输入"grep"命令时,它会在指定的文件中查找匹配指定模式的行,并将结果输出到屏幕上。
grep命令的基本语法如下:
grep [options] pattern [file(s)]
grep [选项] 搜寻字符串 文件
- "-i":忽略大小写进行搜索。
- "-r":递归地在目录及其子目录下搜索。
- "-v":反向匹配,只输出不匹配的行。
- "-n":显示匹配行的行号。
- "-w":只匹配整个单词,而不是部分匹配。
- "-l":只显示包含匹配项的文件名,而不是具体的匹配行。
以下是一些示例:
1.在文件中搜索包含"hello"的行
grep "hello" file.txt
2.在多个文件中搜索包含"apple"的行,并显示匹配行的行号
grep -n "apple" file1.txt file2.txt
3.递归地在目录及其子目录下搜索包含"error"的行,并显示包含匹配项的文件名
grep -r -l "error" /path/to/directory
查找并显示指定命令的绝对路径
which
找不到指定的命令,它将不会输出任何内容,并且通常返回一个非零的退出状态,表示失败。专门用于快速定位二进制文件、源代码文件和手册页(man pages)位置的工具。
这个命令通过搜索系统预定义的路径(通常是系统安装程序时使用的默认路径)来查找指定程序的这些组成部分(压缩包,安装程序的附带文件等)
命令行中输入whereis
后跟要查找的程序名即可
whereis
会搜索二进制文件、源代码文件和手册页,并返回搜索结果。输出结果通常包括三列,分别对应不同类型的文件
date指令是一个在Unix和Linux系统中常用的命令行工具,用于显示当前的日期和时间。
当你在命令行中输入"date"命令时,它会返回当前的日期和时间。
date 指定格式显示时间:
date +%Y:%m:%d
date 用法:
date [OPTION]... [+FORMAT]
使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下
%H : 小时(00..23)
%M : 分钟(00..59)
%S : 秒(00..61)
%X : 相当于 %H:%M:%S
%d : 日 (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
%F : 相当于 %Y-%m-%d
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的 午夜)开始所经过的秒数,不考虑闰秒。
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳 历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
当你在命令行中输入"cal"命令时,它会默认显示当前月份的日历。
例如:
zip和unzip是在Unix和Linux系统中常用的命令行工具,用于创建和解压缩zip格式的压缩文件。zip命令可以将多个文件和目录打包成一个zip文件,而unzip命令则可以解压缩zip文件。
zip命令的基本语法如下:
zip options zipfile files
zip 压缩文件.zip 目录或文件
- -r":递归地添加目录及其子目录中的文件。
- "-q":静默模式,不显示输出信息。
- "-j":仅压缩文件,而不包含目录结构。
- "-9":最高压缩级别,压缩比较高但速度较慢。
- "-u":仅更新zip文件中已存在的文件。
以下是一些示例:
1.将文件和目录打包成一个zip文件:
zip archive.zip file1.txt file2.txt directory/
2.递归地将目录及其子目录中的文件打包成一个zip文件
zip -r archive.zip directory/
unzip命令的基本语法如下:
unzip options zipfile
以下是一些示例:
1.解压缩zip文件到当前目录
nzip archive.zip
2.解压缩zip文件到指定目录
unzip archive.zip -d /path/to/directory
用于创建和解压缩tar格式的归档文件。
tar命令可以将多个文件和目录打包成一个.tar文件,同时也可以解压缩.tar文件。
tar命令的基本语法如下:
tar options archive files
其中,[options]是一些可选的选项,用于定制tar命令的行为。
archive是要创建的.tar文件的名称,或者是要解压缩的.tar文件的名称。
files是要添加到.tar文件中的文件和目录(在创建.tar文件时),或者是要从.tar文件中提取的文件和目录(在解压缩.tar文件时)。
tar [-cxtzjvf] 文件与目录 .... 参数:
以下是一些常用的tar命令选项和用法:
- "-c":创建.tar文件。
- "-x":解压缩.tar文件。
- "-f file":指定.tar文件的名称。
- "-v":显示详细的操作信息。
- "-z":使用gzip进行压缩/解压缩(生成.tar.gz文件)。
- "-j":使用bzip2进行压缩/解压缩(生成.tar.bz2文件)。
- "-t":列出.tar文件中的内容。
- "-C" : 解压到指定目录
以下是一些示例:
1.创建一个.tar文件
tar -czf archive.tar 110
2.解压缩一个.tar文件:
- tar -xzf archive.tar
- tar -xzf archive.tar -C 111
相当于呼出一个Linux操作系统的计算器
清楚屏幕上的代码(清屏),不会对文件造成影响,便于简洁的操作
uname用来获取电脑和操作系统的相关信息。
可显示linux主机所用的操作系统的版本、硬件的名称等基本信息
uname [选项]
-a
:显示包括所有可用信息的完整输出。-s
:显示系统名称-n
:显示节点名称(主机名)-r
:显示内核版本。-m
:显示硬件架构。-o
:显示操作系统类型
shutdown
是一个用于关闭或重启系统的命令。它可以让你以安全的方式关闭或重新启动计算机。
(没有经验最好不要尝试)
-h
:关闭系统。-r
:重新启动系统。-h +时间
:在指定的时间后关闭系统。在命令行界面中,按下[Tab]
键可以自动补齐命令或文件名。如果你开始输入一个命令或文件名的前几个字符,然后按下[Tab]
键,系统会尝试自动完成剩余部分,或者显示所有可能的选项供你选择。
双击Tab显示可能得选择,单击补全(在指令记得不太清晰可以通过这种方法找到所需的指令)
在命令行界面中,按下[Ctrl]-C
组合键可以中断当前正在执行的程序。这通常用于停止不响应或无限循环的命令
(遇到退不出后者卡住的问题可以先无脑Ctrl+c)
在命令行界面中,按下[Ctrl]-D
组合键表示输入结束或退出当前终端会话。在某些情况下,它可以用来结束当前正在运行的程序或关闭当前终端窗口。 当做exit来用
在Linux中下载lrzsz程序可以使得我们在Windows系统和Linux传输文件数据
CentOS版本可以通过下述代码安装
yum install -y lrzsz
通过这个指令,我们可以在Linux和Windows系统中互传文件,比如一些Linux系统中不方便下载的我们可以在Windows中下好在传过来
注意:在系统之间传输文件建议传压缩包
发送文件:使用 sz
命令后跟文件名:
sz filename
我们可以直接用鼠标拖拽过来
通过spc指令传输
spc 文件 接受用户民@接受端公网IP:接收路径
在password:后面输自己的密码,Linux中看不见输的密码
指令也叫命令、工具,本质就是可执行文件,它们都存放在 /usr/bin 的路径下,我们也可以自己写一段可执行程序,并放入到这个目录中去,它便成为了一个命令
使用 which指令 可以寻找某个命令
以上是我对Linux基本指令的一些认识,还有很多指令等着我们去认识,希望我的文章能对你有所帮助,感谢你的观看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。