《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 ...
随机推荐
- 搭建PHP开发环境
通过两种方式搭建PHP开发环境,而这种开发环境实际是:Apache+MySQL+PHP. 第一种: 通过套件来安装和配置php开发环境. Apache+MySQL+PHP开发环境的搭建(一) 第二种 ...
- C#多线程技术总结(异步)
我这里针对现有的C#多线程技术进行一个汇总,一是复习,二是方便索引,文章部份知识点来源于网络,非本人原创. 一.并行(异步): 1.System.Threading.Tasks命名空间下的(TPL): ...
- 理解SQL Server是如何执行查询的 (3/3)
页并发访问的保护:闩锁 在多线程并发情况下,需要防止读线程读到写线程正在写的资源,在编程中,通过使用互斥器(Mutexes), 信号量(Semaphore), 临界区(Critical Section ...
- 利用getBoundingClientRect方法实现简洁的sticky组件
补充于2016-03-20: 本文实现有不足,不完美的地方,请在了解本文相关内容后,移步阅读<sticky组件的改进实现>了解更佳的实现. sticky组件,通常应用于导航条或者工具栏,当 ...
- [译]学习IPython进行交互式计算和数据可视化(一)
--学习IPython进行交互式Python编程.高性能数字计算和数据可视化 作者:Cyrille Rossant 译者:Tacey Wong 注:仅为个人翻译及学习,多有谬处,E文尚可的推荐阅读英文 ...
- [Asp.net 5] DependencyInjection项目代码分析3-Ninject
Microsoft.Framework.DependencyInjection.Ninject 该工程内部共包含5个类文件,底层使用Ninject实现依赖注入,工程截图如下: 从文件命名可以看出,Ni ...
- MVC上传文件
ASP.NET MVC上传文件是必段撑握的知识.加强训练才是.以前Insus.NET曾使用第三方MyAjaxForm.js :http://www.cnblogs.com/insus/p/378548 ...
- HoverTree开发日志之验证码
HoverTree是一个ASP.NET的开源CMS,目前包含文章系统,图库和留言板功能.代码完全开放,文章内容页生成了静态的HTM页面,留言板提供留言审核功能,文章可以发布HTML源代码,图片上传同时 ...
- Android一个ListView列表之中插入两种不同的数据
http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...
- ASP.NET MVC 网站开发总结(二)——一个或多个文件的异步或同步上传
简而言之,直接用代码展示如何实现文件的上传,这里需要使用到一个bootstrap的文件上传插件File Input(请自行下载). 前台页面: <!----> <!DOCTYPE h ...