《The Linux Command Line》 读书笔记01 基本命令介绍
《The Linux Command Line》 读书笔记01 基本命令介绍
1. What is the Shell?
The Shell is a program that takes keyboard commands and passes them to the operating system to carry out.
提示符
$被称作shell prompt,它表明shell准备好接收输入。
通常是包含了你的用户名和机器名(username@machinename),之后是当前的工作目录,之后是一个dollar符号。
如果最后一个符号不是$符号而是井号(#)(hash mark),当前终端会话具有superuser权限。
这表明要么我们是以root用户登录的,要么我们选择了一个terminal emulator提供了超级用户,也即管理员的权限。
一些简单的命令
date显示当前的时间还有日期
cal展示当前月份的日历
df查看当前硬盘的空间
free查看空闲存储空间
exit结束会话
复制和粘贴
命令行中Ctrl+C,V的复制粘贴方法不再管用,在Linux命令行中的复制粘贴是这样的:
鼠标双击一个文件名,表示复制;
单击鼠标中键,表示粘贴。
2. Navigation
在文件系统中导航,主要要用这三个命令:
pwd—Print name of current working directory. 打印当前工作目录。
cd—Change directory.
ls—List directory contents.
文件系统是树形的,但是不像Windows里面,每个存储设备有一个单独的树;Unix-like system永远只有一个文件系统树形结构。
改变当前目录
改变当前目录的命令是cd(change directory),后面跟目标路径。
目标路径有两种给出的方式,一种是绝对路径,一种是相对路径。
绝对路径名
绝对路径是从root目录开始的,root目录通常用一个开头的斜线(/)表示:
比如cd /usr/bin可以进入程序安装目录。
相对路径名
相对路径的起点是工作目录,需要使用特殊的符号来表示相对位置:
.一个点表示当前目录;
..两个点表示父目录。
比如当前在usr下,想进入bin下:
cd ./bin
在大多数时候,可以省略./
cd bin
关于文件名
1.以句号(.)开头的文件是隐藏文件。
这仅仅是意味着ls不能列出它们,ls –a才能列出它们。
当账户建立的时候,home目录下会出现一些这样的文件,配置一些东西,一些应用也会把它们的配置文件放在这里。
2.文件名和命令都是大小写敏感的。
3.Linux没有后缀名(file extension)的概念。
但是尽管Unix类的系统不使用文件后缀来决定文件内容和用途,一些应用程序还是需要文件名后缀。
4.尽管Linux支持很长的文件名,可以包含空格和标点,但是你最好将文件名中使用的标点限制在句号、连字符和下划线这三种类型内。
最重要的是,在文件名中不要使用空格。不然一些命令行的任务会变得很难进行。
3. Exploring the System
ls命令
ls可以列出当前工作目录下的文件和子目录名。
除了当前目录,也可以指定路径:
ls /usr
并且可以指定多个路径:
ls ~ /usr
这样可以分别列出用户的home目录和usr目录下的内容。
(home目录用字母~表示)
也可以指定输出方式:ls –l以长格式输出。
命令选项和参数
命令通常跟着一个或多个选项(options),指定行为方式;
另外会跟着一个或多个参数(arguments),指定行为对象。
command –options arguments
选项通常是一个字母,前缀一个连字符,比如-l。
很多命令也支持长选项,由两个连字符后接一个单词组成。
还有很多命令支持多条短选项串接,比如ls –lt。
l选项指定输出格式为长,t选项将结果按照文件的修改时间排序。
如果是ls –lt –reverse
将会逆序排列结果。
一些常用的ls选项:
file命令查看文件类型
前面提到过,Linux中,所有东西都是一个file,文件是不用后缀名的,即从文件名上并不能看出文件的类型。
所以可以用命令file filename来查看文件类型,执行后会输出文件描述。
file filename
less命令查看文件内容
less命令可以查看文本文件(比如配置文件、脚本)的内容。
less filename
执行后可以滚动查看文件内容,可以按Q键退出less。
less常用命令:
less取代了早期Unix的一个叫做more的程序。名字是根据设计中常用的less is more的短语。
4. Manipulating Files and Directories
cp—Copy files and directories. 复制文件或目录。
mv—Move/rename files and directories. 移动和重命名文件和目录。
mkdir—Create directories. 创建目录,可以创建多个。
rm—Remove files and directories. 删除文件和目录。
ln—Create hard and symbolic links.
通配符wildcards or globbing
注意,字母的范围,比如[A-Z]或者[a-z]可能不太好用。
rm命令使用时要注意
由于删除操作是不可逆的,所以使用rm命令的时候要格外注意,尤其是和通配符结合的时候,rm *.html多加一个空格就有可能会删掉所有文件。
所以比较好的方法:首先,仔细检查通配符的使用;其次,先用ls命令看一眼要删除的文件,然后向上返回命令,将ls改成rm。
参考资料
《The Linux Command Line》http://linuxcommand.org/tlcl.php
《The Linux Command Line》 读书笔记01 基本命令介绍的更多相关文章
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- [笔记]The Linux command line
Notes on The Linux Command Line (by W. E. Shotts Jr.) edited by Gopher 感觉博客园是不是搞了什么CSS在里头--在博客园显示效果挺 ...
- Linux Command Line Basics
Most of this note comes from the Beginning the Linux Command Line, Second Edition by Sander van Vugt ...
- Linux Command Line 解析
Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...
- 15 Examples To Master Linux Command Line History
When you are using Linux command line frequently, using the history effectively can be a major produ ...
- 10 Interesting Linux Command Line Tricks and Tips Worth Knowing
I passionately enjoy working with commands as they offer more control over a Linux system than GUIs( ...
- Reso | The Linux Command Line 的中文版
http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...
- Linux Command Line(II): Intermediate
Prerequisite: Linux Command Line(I): Beginner ================================ File I/O $ cat > a ...
随机推荐
- 番外特别篇之 为什么我不建议你直接使用UIImage传值?--从一个诡异的相册九图连读崩溃bug谈起
关于"番外特别篇" 所谓"番外特别篇",就是系列文章更新期间内,随机插入的一篇文章.目前我正在更新的系列文章是 实现iOS图片等资源文件的热更新化.但是,这两天 ...
- 六、GAIA
1. GAIA CSR GAIA (Generic Application Interface Architecture)提供了一个端到端的,与主机无关的生态系统来实现主机应用程序对设备的功 ...
- 30天C#基础巩固----Lambda表达式
这几天有点不在状态,每一次自己很想认真的学习,写点东西的时候都会被各种小事情耽误,执行力太差.所以自己反思了下最近的学习情况,对于基础的知识,可以从书中和视频中学习到,自己还是需要注意下关于 ...
- C# 目录(文件夹)复制实现
private static void CopyDir(DirectoryInfo origin, string target) { if (!target.EndsWith("\\&quo ...
- C#串口通信—传输文件测试
说明:该程序可能不具备实用性,仅测试用. 一.使用虚拟串口工具VSPD虚拟两个串口COM1和COM2 二.约定 占一个字节,代码如下: using System; using System.Colle ...
- 使用Tuple来实现多个Model传送至视图
前面Insus.NET实现过<使用ViewModel来实现多个Model传送至视图>http://www.cnblogs.com/insus/p/5594134.html 和<使用E ...
- Type 'Insus.NET.PictureObject' in Assembly 'App_Code, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
昨晚想实现一个功能,需要把一个对象存储于ViewState中去,但在运行时,出现下面的异常. Type 'Insus.NET.PictureObject' in Assembly 'App_Code, ...
- C语言写的流氓关机程序及破解
记得大二刚开始接触电脑的那个时候,偶尔会弹出一个强制关机的窗口,当时没有办法,如下: 现在看来只是一个小程序而已,用C语言编写的: #include<windows.h> int main ...
- 仿Office的程序载入窗体
初次接触启动界面记不清是在哪一年了,估计是小学四年级第一次打开Office Word的时候吧,更记不清楚当时的启动界面是长啥样了.后来随着使用的软件越来越多,也见到各式各样的启动界面.下面就列举了两个 ...
- 为什么说Babel将推动JavaScript的发展
Babel是一个转换编译器,它能将ES6转换成可以在浏览器中运行的代码.Babel由来自澳大利亚的开发者Sebastian McKenzie创建.他的目标是使Babel可以处理ES6的所有新语法,并为 ...