Bash Shell一些基础指令

Shell:
man+指令名称 查询指令的操作手册
info+指令 查看指令相关内容
指令-help或指令–help 查看相关帮助

基本bash shell命令

在这里插入图片描述
cd destination(目录名,绝对文件路径,如/user/bin;或者相对路径名称)跳转到destination目录下
如果没有destination,跳转主目录
pwd 显示当前工作目录
. 表示当前目录 …表示当前目录的主目录

文件和目录列表

ls命令最基本的形式会显示当前目录下的文件和目录
在这里插入图片描述
要把隐藏文件和普通文件及目录一起显示出来,用ls -a
在这里插入图片描述
文件或目录的inode编号是一个用于标识的唯一数字,这个数字由内核分配给文件系统中的每一个对象要查看文件或目录的inode编号,可以给ls命令加入-i参数。ls -i。
带-F参数的ls命令区分文件和目录 ls -F,它会在可执行文件的后面加个星号,以便用户找出可在系统上运行的文件;
在这里插入图片描述
-l参数会产生长列表格式的输出(ls -l),包含了目录中每个文件的更多相关信息。如下所示在这里插入图片描述在这里插入图片描述
有时你可能不知道要找的那个文件的确切名称。ls命令能够识别标准通配符,并在过滤器中用它们进行模式匹配:“?”代表一个字符 “*”代表0个或多个字符

处理文件

创建文件

用touch命令创建空文件 “touch 文件名”

复制文件

cp source destination
当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。新文件就像全新的文件一样,有新的修改时间。
如果目标文件已经存在,cp命令加上-i选项,强制shell询问是否需要覆盖已有文件。
destination也可以是目录名,将源文件复制到该目录下。如目录名/home/Documents/ ;(注意最后有一个“/”,说明是目录名。如果没有这个“/”,系统会将Documents理解为文件名,如果目录home下没有Documents文件,该命令会新建一个Documents文件)

自动补全

制表键Tab有自动补全功能;

链接不全

ln -s 创建符号链接(符号链接是一个文件,它指向存放在虚拟目录结构中某个地方的另一个文件)
ln -s data_file sl_data_file(该文件才是符号链接文件)
sl_data_file( -> data_file
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件也必须事先存在;创建硬链接直接使用ln指令;
ln data_file sl_data_file(该文件才是链接文件)

重命名文件

mv命令可以将文件和目录移动到另一个位置或重新命名。
$ mv fall fzll 将文件名fall重命名fzll
也可以使用mv来移动文件的位置。
$ mv fzll Pictures/
mv命令中使用-i参数。这样在命令试图覆盖已有的文件时,会得到提示。
也可以使用mv命令移动文件位置并修改文件名称,这些操作只需一步就能完
成。$ mv /home/christine/Pictures/fzll /home/christine/fall
也可以使用mv命令移动整个目录及其内容。
$ mv Mod_Scripts Old_Scripts

删除文件

使用rm指令删除文件;
$ rm -i xxx xxx为文件名, -i参数提醒用户,确认是否要删除文件;
rm -f 强制性删除文件

处理目录

创建目录

$ mkdir xxx xxx为目录名称
$ mkdir -p x/xx/xxx 批量地创建目录和子目

删除目录

$ rmdir xxx xxx为目录名;
Shell为了保护文件安全,如果目录下还有非空文件,则$ rmdir xxx无法删除该目录;
可以在整个非空目录上使用rm命令。使用-r选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身:
$ rm -r xxx
一口气删除目录及其所有内容的终极大法就是使用带有-r参数和-f参数的rm命令:
$ rm -rf xxx
rm -rf命令既没有警告信息,也没有声音提示。谨慎使用;

查看文件内容

查看文件类型

在这里插入图片描述

查看整个文件

1.cat命令是显示文本文件中所有数据的得力工具。
$ cat xxx xxx为文件名,显示xxx文件的内容
$ cat -n xxx 给所有行加上行号
$ cat -b xxx 给显示有内容的行加上行号
$ cat -T xxx 不显示制表符(Tab),用^I字符组合去替换文中的所有制表符。2.cat命令一旦执行,只有在文件内容全部显示完后才停止;而more命令会在显示每页的数据之后停下来。因此more命令是分页工具;
3.less命令的操作和more命令基本一样,一次显示一屏的文件文本。除了支持和more命令相同的命令集,它还包括更多的选项。

查看部分文件

1.tail命令会显示文件最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末尾10行。
$ tail xxx 显示xxx的后10行
$ tail -n xxx 显示xxx的后n行
$ tail -f xxx 允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活动状态,并不断显示添加到文件中的内容。可以实时监测系统日志。
2.head命令,顾名思义,会显示文件开头那些行的内容。默认情况下,它会显示文件前10行的文本:
$ head xxx 显示xxx的前10行
$ head -n xxx 显示xxx的前n行

进阶bash shell命令

监测进程

$ ps 输出运行在系统上的所有程序的许多信息。
默认不带参数下,输出显示了程序的进程ID(Process ID,PID)、它们运行在哪个终端(TTY),以及进程已用的CPU时间。
在这里插入图片描述
在这里插入图片描述

如果你想查看系统上运行的所有进程,可用-ef参数组合。
在这里插入图片描述

实时监测进程

ps命令虽然在收集运行在系统上的进程信息时非常有用,但也有不足之处:它只能显示
某个特定时间点的信息。如果想观察那些频繁换进换出的内存的进程趋势,用ps命令就不方
便了。
而top命令刚好适用这种情况。top命令跟ps命令相似,能够显示进程信息,但它是实时显
示的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结束进程

在这里插入图片描述kill命令可通过进程ID(PID)给进程发信号。终止进程要发送进程信号,你必须是进程的属主或登录为root用户。
kill pid
killall命令非常强大,它支持通过进程名而不是PID来结束进程。
如: killall http* 结束了所有以http开头的进程

监测磁盘空间

挂载存储媒体

Linux文件系统将所有的磁盘都并入一个虚拟目录下。**在使用新的存储媒体之前,需要把它放到虚拟目录下。**这项工作称为挂载(mounting)。
1.Linux上用来挂载媒体的命令叫作mount。默认情况下,mount命令会输出当前系统上挂载的设备列表。
$ mount
mount命令提供如下四部分信息:
 媒体的设备文件名
 媒体挂载到虚拟目录的挂载点
 文件系统类型
 已挂载媒体的访问状态
要手动在虚拟目录中挂载设备,需要以root用户身份登录,或是以root用户身份运行sudo命令。下面是手动挂载媒体设备的基本命令:
mount -t type device directory
type参数指定了磁盘被格式化的文件系统类型。Linux可以识别非常多的文件系统类型。如果是和Windows PC共用这些存储设备,通常得使用下列文件系统类型。
 vfat:Windows长文件系统。
 ntfs:Windows NT、XP、Vista以及Windows 7中广泛使用的高级文件系统。
 iso9660:标准CD-ROM文件系统。
大多数U盘和软盘会被格式化成vfat文件系统。而数据CD则必须使用iso9660文件系统类型。
后面两个参数定义了该存储设备的设备文件的位置以及挂载点在虚拟目录中的位置。比如
说,手动将U盘/dev/sdb1挂载到/media/disk,可用下面的命令:
mount -t vfat /dev/sdb1 /media/disk
媒体设备挂载到了虚拟目录后,root用户就有了对该设备的所有访问权限,而其他用户的访
问则会被限制。你可以通过目录权限指定用户对设备的访问权限。

2.从Linux系统上移除一个可移动设备时,不能直接从系统上移除,而应该先卸载。
卸载设备的命令是umount。umount命令的格式非常简单:
umount [directory | device ]
umount命令支持通过设备文件或者是挂载点来指定要卸载的设备。如果有任何程序正在使用设备上的文件,系统就不会允许你卸载它:

df命令查看磁盘空间

有时你需要知道在某个设备上还有多少磁盘空间。df命令可以让你很方便地查看所有已挂载磁盘的使用情况。
$ df
df命令会显示每个有数据的已挂载文件系统。如你在前例中看到的,有些已挂载设备仅限系
统内部使用。命令输出如下:
 设备的设备文件位置;
 能容纳多少个1024字节大小的块;
 已用了多少个1024字节大小的块;
 还有多少个1024字节大小的块可用;
 已用空间所占的比例;
 设备挂载到了哪个挂载点上。
df命令一个常用的参数是-h。它会把输出中的磁盘空间按照用户易读的形式显示,通常用M来替代兆字节,用G替代吉字节。

du命令查看特定目录的磁盘空间

du命令可以显示某个特定目录(默认情况下是当前目录)的
磁盘使用情况。这一方法可用来快速判断系统上某个目录下是不是有超大文件。
默认情况下,du命令会显示当前目录下所有的文件、目录和子目录的磁盘使用情况,它会以
磁盘块为单位来表明每个文件或目录占用了多大存储空间。对标准大小的目录来说,这个输出会
是一个比较长的列表。
$ du

处理数据文件

排序数据

$ sort
在这里插入图片描述
其中,默认是按照字符排序(one,two,…,),-h按照阿拉伯数字排序(1,2,…),-M按照时间戳排序

搜索数据

grep [options] pattern [file]
模式匹配:grep命令会在输入或指定的文件中查找包含匹配指定模式的字符的行。grep的输出就是包含了匹配模式的行:在file中搜索包含pattern 的行。

压缩数据

gzip命令会压缩你在命令行指定的文件。也可以在命令行指定多个文件名甚至用通配符来一次性批量压缩文件。
$ gzip xxx

归档数据

tar命令最开始是用来将文件写到磁带设备上归档的,然而它也能把输出写到文件里,这种
用法在Linux上已经普遍用来归档数据了。
下面是tar命令的格式:
tar function [options] object1 object2
在这里插入图片描述

下载了开源软件之后,你会经常看到文件名以.tgz结尾。这些是gzip压缩过的tar文件可以用命令tar -zxvf filename.tgz来解压。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值