Linux 命令行基础
Shell 入门
这上面讲的有点太简单了,总结一下备忘。
Get into the shell
错误信息
输入包括单引号’、圆括号(、大括号{
输出有>(右尖括号),需要补全。
ctrl+c
退出
简单指令
目录文件
ls
下载
curl http://udacity.github.io/ud595-shell/stuff.zip -o things.zip
安装
Ubuntu and Debian users: sudo apt-get install cowsay
Redhat and CentOS users: sudo yum install cowsay
OS X users: brew install cowsay
(This requires the homebrew, a third party package manager for OS X, http://brew.sh/)
Arch Linux users: sudo pacman -S cowsay
更多指令:
- 日期:
date
- 计算器:
expr 2 + 2
- 显示:
echo things
(显示'
需要在前面加上\
,即\'
) - 操作系统名称:
uname
、uname -a
- 服务器名称:
hostname
- 远程服务器ip等信息:
host baidu.com
- bash 版本:
bash --version
- 历史记录:
history
- 删除:
rm xxx
python:os.remove("xxx")
- 状态:
uptime
18:41:45 up 2 days, 1:58, 5 users, load average: 2.01, 1.98, 2.00
时间、运行时间、用户数量、平均负载
Shell commands
历史记录
↑
:浏览上一条命令,可以多次使用history
:列出所有记录ctrl+R
:搜索历史记录
解压zip
unzip XXX.zip
输出文本到终端
cat AAA.txt BBB.txt
cat
代表concatenate。
可用于读取其他文件作为输入。
命令补全
Tab
键自动补全命令、参数等。
文本文件信息统计
wc XXX.txt
输出行数、字数、字节数
比较不同
diff AAA.txt BBB.txt
对比两个文件的不同点
指令手册
man cowsay
查询某个指令的用法
显示隐藏文件
ls -a
默认不显示以.
开头的文件
删除
rm -rf /
删除所有文件。。
程序接管shell
如:
ping 8.8.8.8
会使shell被ping接管。按ctrl+C
退出。
另一种交互程序需要手工输入终止符,
如:
sort
b
c
a
最后输入ctrl+D
(EOF)才会运行排序。
全屏文件显示、编辑工具
less XXX.txt
nano XXX.txt
vim XXX.txt
The Linux Filesystem
文件名
文件和目录都有其名称(”filenames”)
Filenames 可以包括任何除了/
的字符。
当需要写一个包括特殊字符(#!$%&[]等)
需要采取引用或转义的形式:
- 真实名:
Great Name!
- 引用:`
Great Name!
` - 转义:
Great\ Name\!
文件系统树
不像windows,分区为不同盘符,而是统一在(root)
下。
文件夹与文件夹之间用/
连接(windows用\
)。
目录操作
- 当前路径:
pwd
- 进入目录:
cd
绝对路径与相对路径
- 绝对路径:从根目录开始
- 相对路径:从当前工作目录开始
.
指向当前路径..
指向上一级路径
复制与移动
- 移动文件
mv A B
可以重命名 - 复制文件
cp A B
新建目录与删除
新建
- 当前路径:
mkdir A
- 绝对路径:
mkdir /home/user/A
删除
- 删除目录:
rmdir A
不能对包含文件的目录删除 - 删除目录及文件:
rf -r A
Globbing
通配模式
- 包括html的文件:
ls *html
- 大括号中选择:
ls app.{css,html}
- 一个
?
匹配一个字符:ls bea?.png
- 匹配
[]
中其中一个:ls be[aeio]r.png
区别大小写,包括扩展名
codecademy上面好像也有shell的入门,比这个要好一点。