The Linux Command Line读书笔记(一)

本文是刚刚接触HTML的菜鸟突然跑偏回顾一下之前看过的The Linux Command Line,本文主要是Part 1部分的些许笔记,一些简单的命令集合。尚未完成,等待更新。

ls 命令
ls -a –all 显示 . 开头的隐藏文件
ls -A –almost-all 不显示 . 和 .. 其他和ls -a 一样
ls -d –directory list directories themselves not their contents
ex.
- input : ls -d output : .
- input : ls ~ -d output : /home/yourusername (类似直接进入某文件夹使用pwd)
与-l合用可以观察当前文件夹属性
ls -F –classify 所有文件夹显示时后加/
ls -h –human-readable 在加-l的情况下把size变为可读性高的(有单位的)
ls -l 详细点儿
ls -r –reverse 升序显示变为降序显示
ls -S 按文件大小排序
ls -t 按修改时间排序
P.S. 当上面两个连着用的时候,只有靠后的选项才会生效
ls -i 打印文件的索引号(用于硬链接辨识)


less 显示一个文件中的一些jumping和search操作,具体可在less中输入h查看
PageUp == b
PageDown == space
G == 跳至文档末尾
1G or g == 跳至文档开始
/characters == search characters
- n 下一个匹配characters的结果
h == help screen


wildcards 通配符
* Matches any characters
? Mathces any single character
[characters] 匹配括号内的字符
[!characters] 匹配除了括号内的字符
[[:class:]]
- [:alnum:]
- [:alpha:]
- [:digit:]
- [:lower:]
- [:upper:]


cp 命令,mv 命令, rm命令,ln命令
cp -a –archive 默认选项,属性,所有权,权限全部拷贝
cp -i –interactive 在覆盖同名文件前交互
cp -r –recursive 复制文件夹
ex.
- cp -r dir1 dir2
- 如果dir2不存在,则创建dir2,dir2 == dir1
- 如果dir2存在,则dir1创建在dir2目录下 dir2/dir1 == dir1
- cp dir1/* dir2
- 并不能复制dir1所有内容,只能匹配非文件夹files
cp -u –update 仅复制更新的或不存在的文件
cp -v –verbose 复制中显示复制的信息
mv命令与cp的常用选项基本相同,但没有-r
rm命令与cp的常用选项基本相同,添加一个
rm -r –force 强制删除
ln file link 创建硬链接(只能链接文件)
ln -s item link 创建symbolic链接
- 此时使用ls -l显示的是链接文件名字符串的长度而非文件内容


命令查看
type 命令回显结果
1. /usr/bin executable program
‘cp’, ‘mv’, ‘less’, ‘mkdir’, ‘ln’, ‘touch’ etc.
2. built into the shell itself
‘type’, ‘cd’ etc.
3. shell function
4. alias
‘ls’ is ‘ls –color=auto’
which 命令
标示可执行命令的路径位置,即type的第一种命令,对于第二种,第三种(第三种未测试)均不返回
help 命令
对built-in函数显示帮助
–help 命令
很多程序提供的帮助选项
man 命令
使用less显示man页面,故可使用less命令进行jumping or searching
man page 一般由八个部分组成,如下表所示。

可以直接使用man 1~8 command_name 跳转到该命令man page对应的section上
apropos 命令
显示相近的命令
whatis 命令
介绍性的显示一下命令的功能,如果它的man page里面有写的话
info 命令
info ‘command_name’ 可以进入该command的介绍,所有的命令的介绍以树的形式存储,有几个命令可以在各个节点中移动。
- n next-node
- p previous-node
- u parent node
- ? help(然而实测是搜索,h 才是help
- q 退出
直接输入info也能进入info的树节点
我们提到的大部分的命令(来自于GNU Project’s “coreutils” package)都可以通过info coreutils来查询。
帮助文档
可以直接在/usr/share/doc文件夹中阅读
一些以.gz结尾的文件(代表文件类型是gzip package),可以用zless查看压缩文件内容。
alias, unalias 命令
直接在命令行使用alias命令,关闭该命令行后就无法再使用该别名,且只适用于一个命令行窗口
alias name = ‘string’
unalias 同理
在命令行中输入alias可以输出当前的所有别名。


重定向
< 重定向输入
> 重定向输出,会覆盖文件
>> 重定向输出,会续写文件
| 串联前者输出至后者输入
0 标准读入
1 标准输出
2 标准错误流
- ls -l /bin/usr 2> ls-error.txt
- ls … > ls-output.txt 2>&1 同时将输出和错误重定向至ls-output.txt
- 上述命令还可以表述为 ls … &> ls-output.txt
- 如果想续写文件,则使用 ls … &>> ls-output.txt
/dev/null 虚无之地,接收一切(暂时可以这么理解吧?)
故当错误不重要时可以将错误重定向到/dev/null
ls -l /bin/usr 2> /dev/null
cat 命令
串联文件,默认输出至stdout,默认输入stdin
sort, uniq 命令
sort排序, 一般是配合别人出现的,只打sort好像会卡住(uniq同理)?
uniq除重,uniq -d只看重复的
wc 命令
word count: lines, words, bytes contained
-l 只返回行数
grep 命令
-i 无视大小写匹配
-v 输出不匹配的
head, tail 命令
显示头 尾10行
-n number改变行数
-f 持续关注文件(适用于不断更新的文件)
tee 命令
从stdin读入到输出到Stdout和一个或多个文件中。


echo 命令 与 正则表达式
echo * = ls (注意没有autocolor)
echo .* = ls -d .*
echo .[!.]* = ls -A
1. ~ Tilde Expansion (会展开为当前用户的home文件夹路径)
2. ArithmeticExpansionecho (($((5 * 2)) 3))
- echo $(((5 * 2) 3))
- echo $((5 * 2 3)) 注意一定是双括号
3. {} Brace Expansion
- echo Front-{A, B, C}(或者 {1..5})-Back 注意{}中不能再有{}
4. Parameter Expansion
- echo USER(printenv)5.CommandSubstitution (),用“(back-quotes)也可以,注意不是单引号
- echo (ls)lsl (which cp)
引用
double quotes ” ” 使除 \singlequotes使expansions$!& BackslashEscapeSequencesASCII32shell使echoe ’ ‘中
- sleep 10; echo -e “Time’s up\a”
- sleep 10; echo “Time’s up” $’\a’


高级键盘技巧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值