Linux Command Line and....ch3(基本的bash shell)

ch3 基本的bash shell

本章内容:

  • 使用shell
  • bash手册
  • 浏览文件系统
  • 文件和目录列表
  • 管理文件和目录
  • 查看文件内容

Ubuntu
ctrl+alt+T,调出命令行窗口
ctrl+L,清除控制台

Ubuntu默认使用的是dash
这里写图片描述
如果要修改默认的sh,可以采用命令
sudo dpkg-reconfigure dash
然后选择【否】

====
3.2 shell提示符

christine@server01: ~$
当前用户ID名christine。另外还包括系统名server01。
默认bash shell提示符是美元符号,这个符号表明shell在等待用户输入。
shell CLI:shell command line interface


3.3 bash手册

利用man或者info,来查看手册
或者用 –help or -h (选项如果是缩写的话,前面只有一个-,如果是全名,则有–)

tip:如果你是新接触bash shell,可能一开始会觉得手册页并不太有用。但是,如果养成了阅读手册的习惯,尤其是阅读第一段或是DESCRIPTION部分的前两段,最终你会学到各种 技术行话,手册页也会变得越来越有用。

当使用man命令查看命令手册页的时候,这些手册页是由分页程序(pager)来显示的。分页程序是一种实用工具,能够逐页显示文本。可以通过点击空格键进行翻页,或是使用回车键逐行查看。

帮助文档中第一行括号里的数字意义:

这里写图片描述

man page中常用的按键:
这里写图片描述


3.4浏览文件系统

3.4.1 Linux 文件系统
Linux将文件存储在单个目录结构中,这个目录被称为虚拟目录(virtual directory)。虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。
Linux虚拟目录结构只包含一个称为根(root)目录的基础目录。

与Windows不同,Linux使用正斜线( / )而不是反斜线( \ )在文件路径中划分目录。没有物理磁盘的概念。
这里写图片描述

一块硬盘和虚拟目录的根目录(由正斜线/表示)关联起来。剩下的硬盘就可以挂载到虚拟目录结构中的任何地方。在这个例子中,第二块硬盘被挂载到 了/home位置,用户目录都位于这个位置。
这里写图片描述

3.4.2 遍历目录

cd [目录名]:进入想去的目录(可以是绝对路径或相对路径)
pwd命令可以显示出shell会话的当前目录
cd .. :回到父目录
cd : 回到主目录


3.5 文件和目录列表

基本命令:ls
会显示当前目录下的文件和目录,支持彩色终端的会有颜色区分

$ ls -F
Desktop/ Downloads/ Music/ Pictures/ Templates/ Videos/ Documents/ examples.desktop my_script* Public/ test_file

“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接,软链接;“|”表示FIFOs;

-a:要把隐藏文件和普通文件及目录一起显示出来,就得用到-a参数。
-R:-R参数是ls命令可用的另一个参数,叫作递归选项。
-l:显示附加信息。
这里写图片描述
 文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);
 文件的权限(参见第6章);
 文件的硬链接总数;
 文件属主的用户名;
 文件属组的组名;
 文件的大小(以字节为单位);
 文件的上次修改时间;
 文件名或目录名。

$ ls -l my_script
-rwxrw-r– 1 christine christine 54 May 21 11:26 my_script
当用户指定特定文件的名称作为过滤器时,ls命令只会显示该文件的信息。有时你可能不知 道要找的那个文件的确切名称。ls命令能够识别标准通配符,并在过滤器中用它们进行模式匹配:
 问号(?)代表一个字符;
 星号(*)代表零个或多个字符。


3.6 处理文件
touch [文件名]: 用于创建文件

cp [source][destenation] :复制文件
1.当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以 destination命名。
2.若destination是目录名,也可以将文件复制到某目录下。
3.cp命令的-R参数威力强大。可以用它在一条命令中递归地复制整个目录的内容。

tab键:补全命令,~$ ca[tab][tab] 可以得到ca开头的所有命令

链接文件

链接文件是Linux文件系统的一个优势。如需要在系统上维护同一文件的两份或多份副本, 除了保存多份单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占位符。在Linux中有两种不同类型的文件链接:
 符号链接
 硬链接

符号链接就是一个实实在在的文件(类似windows中的快捷方式),它指向存放在虚拟目录结构中某个地方的另一个文件。彼此的内容并不相同。可以使用ln(link)命令以及-s选项来 创建符号链接。

硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。

mv[文件名][文件名/目录]:可以重命名文件,或者移动文件位置(move)

rm -i [文件名]:删除(remove),加上i,可以得到一次提示,因为没有回收站,所以这样更慎重


3.7 处理目录

$ mkdir New_Dir :创建目录

$ mkdir -p New_Dir/Sub_Dir/Under_Dir:要想同时创建多个目录和子目录,需要加入-p参数

$ rmdir New_Dir:删除目录,默认只能删除空目录

$ rm -ri My_Dir
rm: descend into directory ‘My_Dir’? y
rm: remove regular empty file ‘My_Dir/another_file’? y
rm: remove directory ‘My_Dir’? y
也可以在整个非空目录上使用rm命令。使用-r选项使得命令可以向下进入目录,删除其中 的文件,然后再删除目录本身。

tips:对rm命令而言,-r参数和-R参数的效果是一样的。-R参数同样可以递归地删除目录中的 文件。shell命令很少会就相同的功能采用不同大小写的参数。(所以shell命令是区分大小写的)

$ rm -rf Small_Dir:删除该目录和目录下的所有文件(没有警告信息)


3.8 查看文件

file [文件名]:查看文件类型(文件,目录,包括链接文件类型)
eg:$ file sl_data_file
sl_data_file: symbolic link to ‘data_file’

cat [文件名]:查看整个文件内容

cat命令的主要缺陷是:一旦运行,你就无法控制后面的操作。为了解决这个问题,开发人 员编写了more命令。

more命令和less命令:查看整个文件

$ tail log_file:文件最后10行

$ tail -n 2 log_file:最后2行

$ head log_file:文件开头10行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值