Linux终端命令格式
1. 终端命令格式 command [-options] [parameter]
command: 命令,比如ls
-options: 选项 , 用于修饰命令, 比如说查看详细列表 ls -l
parameter:参数 , 描述命令要操作的对象 ,比如 ls -l /opt
/opt是参数 -l 是选项
提示: -options 和 parameter 可以无序
示例1: 详细显示 /opt目录下面的文件列表信息
ls /opt -l
2. 查阅命令帮助信息
a. command --help
命令: ls --help
b. man(manual) command
manual: 手册,说明书
命令: man ls
3. 命令终端提示符介绍
linux: python@ubuntu:/opt$
1. python: 用户名
2. ubuntu: 主机名 (命令:hostname)
3. /opt: 路径
4. $ :用户类型 : $ (普通用户) # (超级用户)
常用的命令
1. ls (list)
格式: ls [-options] [parameter]
ls [选项]... [文件]...
a. 常用选项:
- l : 查看详情
- a : 查看所有文件
- h : 配合 -l 以人性化的方式显示文件大小 ,比如 3123456 byte --》3M
示例1: 查看家目录下的文件
ls /home/python
ls -l /home/python
示例2: 查看家目录下的所有文件
ls -a /home/python
示例3: 详细查看家目录下的文件,并且以更友好的方式显示文件大小
ls -lah /home/python
b.文件列表详情组成
命令: ls -lh /home/python
文件详情列表:
drwxr-xr-x 2 python python 4.0K 5月 16 2016 Music
第一部分: drwxr-xr-x
1. 第一个字符: 文件类型 d(目录) -(普通文件) l(链接文件)
2. 第2个字符到第10个字符 : 文件权限
rwxr-xr-x : 分为三组 (属主用户,属主用户的组,其他用户)
r: 读
w: 写
x: 执行
-: 无权限
第二部分: python python
1. 第一个python : 文件的属主用户, 即创建该文件的用户
2. 第二个python: 属主用户的组
c. 通配符
1. * : 代表0个或者多个任意字符
示例1: 查看/bin目录中以r开头的所有文件
命令: ls /bin/r*
2. ?:代表一个任意字符
示例2: 查看/bin目录中以r开头的只有两个字符的文件
命令: ls /bin/r?
d.
"." 代表当前目录,".." 代表上一级目录
以 "." 开头的文件为隐藏文件,需要用 -a 选项才能显示
2. clear : 清除终端屏幕
clear , 快捷方式 ctrl+L
3. pwd (print work directory) :显示工作目录 ,显示绝对路径
python@ubuntu:~$ pwd
/home/python
4. cd (change directory) :切换目录
a. 相对路径与绝对路径
相对路径: 以当前位置开始的路径
绝对路径: 以'/'根路径开始的路径
示例1:分别以相对路径和绝对路径进入到桌面
(当前目录是用户家目录)
1. 相对路径
cd Desktop
cd ./Desktop
2. 绝对路径
cd /home/python/Desktop
示例2:分别以相对路径和绝对路径进入/bin目录中
(当前目录是用户家目录)
1. 相对
cd ../../bin
2. 绝对
cd /bin
b. 常用的目录切换
1. cd . : 切换到当前目录
2. cd .. : 切换到上一级目录
3. cd ~ : 切换到用户家目录
4. cd - : 切换到上一次的目录
5. mkdir (make directory):创建目录
格式: mkdir [选项]... 目录...
示例1: 在桌面创建python1目录
(当前目录是家目录)
绝对路径: mkdir /home/python/Desktop/python1
相对路径: mkdir ./Desktop/python1
示例2: 在python1目录中一次创建a/b/c 级联目录
(当前目录是桌面目录)
mkdir ./python1/a/b/c -p
提示: 假如一次创建多个目录(递归创建、级联创建) 带 -p选项
6. touch : 创建文件
格式: touch [选项]... 文件...
示例1: 在桌面的python1目录中创建info.txt 文件
touch info.txt
示例2: 在桌面的python1目录中一次创建 a.py ,b.py ,c.py 三个文件
touch a.py b.py c.py
7. rm (remove) : 移除,删除文件或者文件夹
格式: rm [选项]... [文件]...
a. 选项:
- i: 删除文件时给予提示
- f: 强制删除,假如要删除的文件不存在,也不报错
- r: 递归删除,假如要删除目录,则必须带该选项
示例1: 删除python1中的a.py 文件
1. rm a.py
2. python@ubuntu:~/Desktop/python1$ rm -i a.py
rm:是否删除普通空文件 'a.py'? y
python@ubuntu:~/Desktop/python1$ ls
3. python@ubuntu:~/Desktop/python1$ rm a.py
rm: 无法删除'a.py': 没有那个文件或目录
python@ubuntu:~/Desktop/python1$ rm a.py -f
python@ubuntu:~/Desktop/python1$
示例2: 删除桌面python1目录中的a目录
python@ubuntu:~/Desktop/python1$ rm a
rm: 无法删除'a': 是一个目录
python@ubuntu:~/Desktop/python1$ rm a -r
提示: 要删除目录,则带-r选项
8. cp (copy) : 复制
格式 cp [选项] <源文件> <目标文件>
(当前的目录是Destop/python1)
示例1: 拷贝桌面python1目录的info.txt 到 当前a目录下
cp ./info.txt ./a
示例2: 拷贝桌面python1目录的info.txt 到 当前a目录下,且改名order.txt
cp info.txt a/order.txt
示例3: 拷贝当前a目录到桌面
1. 相对路径写法
cp a ../ -r
2. 绝对路径写法
cp /home/python/Desktop/python1/a /home/python/Desktop -r
注意:当拷贝目录时,带-r 选项
-
mv: move :移动或者重命名文件
格式 : mv <源文件> <目标文件|或者文件夹>
示例1: 把桌面python1目录的a.py 移到 当前a目录下
mv a.py ./a示例2: 把桌面python1目录的b.py 重命名为body.py
mv b.py body.py示例3: 把桌面python1目录移到家目录下
mv python1 ~
提示: 移动目录不要带 -r 选项
- tree: 以树形方式显示文件列表
示例: 以树形方式显示家目录的文件
tree ~
tree /
(ctrl+c : 停止命令)
11. history: 显示历史命令
1447 cd …
1448 ls
1449 mv python1 ~
1450 ls ~
1451 tree
1452 tree ~
1453 tree /
1454 history
python@ubuntu:~/Desktop$ !1447
提示: !与1447之间不能有空格
12. 重定向命令: > >>
将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中
示例1: 把家目录的文件信息写到桌面的files.txt文件中
(当前目录是桌面)
ls ~ > files.txt
示例2: 把/opt的文件信息追加到桌面files.txt文件内容后面
ls /opt > files.txt
ls ~ >> files.txt
提示: '>' 重定向方式 会覆盖原来的内容,'>>' 重定向方式则会追加到文件的尾部。
13. cat: 查看文件内容
格式: cat [选项]... [文件]...
示例1: 在桌面创建one.py,two.py文件,并且通过cat查看文件内容
touch one.py
touch two.py
gedit one.py
cat one.py
cat two.py
cat one.py two.py
示例2: 把one.py two.py 合并到 three.py 文件中,再通过cat查看
cat one.txt two.txt > three.py
cat three.py
示例3: 使用cat查看/opt/sublime_text/sublime.py 文件内容
cat /opt/sublime_text/sublime.py
14. more : 分屏显示文件的内容
示例1: 使用more查看/opt/sublime_text/sublime.py 文件内容
more /opt/sublime_text/sublime.py
提示: 使用空格键 切换屏幕
其他:
1. ubuntu界面自适应
vmware查看--》自动调整大小--》自动适应客户机
2. 设置root账号密码
python@ubuntu:/home$ sudo passwd root 设置root密码
[sudo] python 的密码: 输入python用户的密码
输入新的 UNIX 密码: 设置root用户的密码
重新输入新的 UNIX 密码:
passwd:已成功更新密码
python@ubuntu:/home$ su root 切换用户
密码:
root@ubuntu:/home# cd python
root@ubuntu:/home/python#
- 在桌面创建test目录
mkdir test
2. 拷贝/opt/sublime_text 目录下的文件 到test目录中
(只复制文件,不复制目录)
cp /opt/sublime_text/* ./
linux命令
1. | : 管道命令
管道:一个命令的输出可以通过管道作为另一个命令的输入
示例1: 分别用ls 和 tree命令查看 根目录/ 的内容,且分屏显示
1. ls / | more
2. tree / | more
2. ln : 链接命令
格式: ln [选项] 目标 链接名
ln 目标 链接名: 默认创建硬链接
选项: -s : soft 创建软链接, 好比windows中的快捷方式
示例1 :在桌面创建一个01.txt文件,对该文件创建软连接01_s_link.txt
ln -s 01.txt 01_s_link.txt
示例2:在桌面创建一个01.txt文件,对该文件创建硬连接01_link.txt
ln 01.txt 01_link.txt
软链接与硬链接相同点与区别
1. 软链接与硬链接最终都是指向同一个文件存储区域(文件描述符)
2. 当源文件名删除, 软链接变成无效链接,而硬链接还可以打开源文件的内容
3. 文件详细列表显示时, 软链接的文件类型是 l,而硬链接是 -
4. 软连接可以链接文件和目录,而硬链接只能链接文件
提示: 如果是在目标文件所在目录以外的目录创建软链接,那么软链接的目标文件路径写绝对路径
- grep: 查找某个文件的文本 ,显示匹配行
格式:grep [-选项] ‘搜索内容串’ 文件名
选项:
- i: 不区分大小写
- n: 显示匹配行的行号
- v: 显示不匹配的行
示例1: 把家目录中的文件信息写入桌面的home.txt中, 并且查找D字符
1. ls ~ > home.txt
2. grep 'D' home.txt
3. grep -i 'D' home.txt
4. grep -in 'D' home.txt
5. grep -inv 'D' home.txt
示例2: 查询mysql程序是否运行(拓展)
命令: ps -aux | grep 'mysql'
提示: ps命令 (process), 查看当前运行的进程 ,-aux: 以bsd的格式显示内容
-
find:查找文件
格式 find [路径] [-name|-size|-perm] [匹配规则]
a> 按名称查找
示例1:查找test目录中扩展名是py的文件
find ./ -name ‘.py’
find ./ -name '[sc]’ : 查找以c或者s开头的文件b>按大小查找
示例2:查找test目录大于2M的文件
find ./ -size +2Mc>按权限查找
find ./ -perm 权限值
permission :权限示例3:查找出test目录中属主用户有读写权限,同组用户及其他用户只有读权限的文件
rw-r–r-- 6 4 4
命令: find ./ -perm 644示例4:查找出test目录中属主用户有读写执行权限,同组用户及其他用户只有读和执行权限的文件
rwx r-x r-x 7 5 5
421
命令: find ./ -perm 755- tar: 打包压缩命令
格式 : tar [选项] 打包后的文件名 要打包的文件
选项:
1. c :创建打包文件,归档文件
2. v :显示打包或者拆包详情
3. f :指定打包后的文件名称,f后面接xxx.tar文件
4. x :解包,拆包
5. z :以gzip压缩或者解压文件
6. C : 解压到指定路径,-C 选项 后面接解压后存放文件的目录
示例1: 对test目录下的所有文件打包成my.tar 文件
tar -cvf my.tar *
示例2: 对my.tar 文件进行拆包
tar -xvf my.tar
示例3: 对test目录下的所有文件打包且以gzip格式压缩 成 my.tar.gz文件
tar -czvf my.tar.gz *
示例4: 对my.tar.gz 解压及拆包到桌面的test2目录中
1. tar -xzvf my.tar.gz
2. mkdir ~/Desktop/test2
tar -xzvf my.tar.gz -C ~/Desktop/test2
6. gzip (了解)
格式: gzip [选项] 被压缩的文件|需解压的文件
选项 -d :表示解压
示例1:对test目录下的sublime_text 文件 使用gzip格式压缩
gzip sublime_text
示例2:使用gzip命令解压文件
gzip -d sublime_text.gz
7. chmod :对文件或目录设置权限
a>字母法
格式: chmod u/g/o/a +/-/= rwx 文件
用户:
u: 属主用户
g: 同组的其他用户
o:其他用户
a: 所有用户
授权:
+: 添加权限
-:移除权限
=:赋值权限
权限:
r: 读
w:写
x:执行 ,对于目录,假如用于x权限,则能打开目录
- :无权
示例1: 对test2目录下的sublime.py 文件的拥有者用户及同组用户添加执行权限,对其他用户添加写权限
chmod u+x,g+x,o+w sublime.py
示例2: 对test2目录下的sublime.py同组用户移除执行权限,对其他用户设置无权限
chmod g-x,o=- sublime.py
chmod g-x,o= sublime.py
b>数字法
格式:chmod 权限数字表示法 文件名
示例3:使用数字法对test2目录的sublime.py所有用户均设置读写执行权限
chmod 777 sublime.py
- which : 查找命令的位置
示例:分别查看ls和shutdown两个命令在哪个目录中- which ls
- which shutdown
9. 与用户相关命令(who、sudo、passwd、su、exit)
a> who : 当前登录的用户
示例1:查看当前哪些用户在登录
python@ubuntu:~/Desktop$ who
python tty7 2018-08-02 08:45 (:0)
python pts/0 2018-08-02 10:27 (192.168.19.90)
1. python: 登录的用户名
2. tty7 : 本地登录
3. pts: 远程登录
(192.168.19.90) : 远程登录的主机ip地址
b> sudo : superuser do : 超级用户授权当前用户执行命令
格式: sudo command
示例2:在/opt目录下创建images文件夹
python@ubuntu:/opt$ mkdir images
mkdir: 无法创建目录"images": 权限不够
python@ubuntu:/opt$ sudo mkdir images
[sudo] python 的密码:
python@ubuntu:/opt$ ls
c> passwd : 设置用户密码
格式: sudo passwd 用户名
示例3:设置python用户密码
python@ubuntu:/opt$ sudo passwd python
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
d> su : 切换用户
示例4:使用su命令切换到root用户
su root
e> exit : 退出用户登录
1. 如果是ubuntu图形界面打开的命令终端,退出当前终端
2. 如果是使用ssh远程登录,退出登录账户
3. 如果是切换后的登录用户,退出则返回上一个登录账号
示例5:使用exit命令退出命令终端界面
exit
-
关机相关命令(reboot、shutdown)
a> reboot: 重启
b> shutdown: 关机
-h: halt ,停掉系统,并没有掉电,主板是通电的
1. shutdown –r now :立即重启
2. shutdown -h now :立即关机
3. shutdown -h 20:25 :指定某个时间关机
4. shutdown -h +10 : 10分钟后关机
二、 ubuntu软件的安装与卸载
四种安装软件的方式:
格式文件
通过apt-get包管理器从软件源 通过deb格式的离线软件包安装
直接解压gzip等压缩中在线安装
从软件源码手动编译安装
1. 离线安装
a> 直接解压gzip等压缩格式文件
示例1: 解压 pycharm.tar.gz 文件到 /opt/mysoft ,并且运行pycharm软件
1. sudo mkdir /opt/mysoft
2. sudo tar -xzvf pycharm.tar.gz -C /opt/mysoft
3. 执行命令:
python@ubuntu:/opt/mysoft/pycharm-community-2017.2.4/bin$ ./pycharm.sh
提示: xxx.sh是linux 可执行的shell脚本文件
b> 通过ubuntu支持的安装包安装
ubuntu 支持deb格式 ,deb格式是Debian系统(包含Debian和Ubuntu)专属安装包格式 ,好比android支持apk格式的
格式:
sudo dpkg -i xxx.deb # 安装包
-i : install
sudo dpkg -r package # 删除包 ,删除程序
-r :remove
示例2: 在ubuntu环境中安装和卸载网络助手软件
安装: sudo dpkg -i cc.deb
cc.deb:文件名
卸载 sudo dpkg -r mnetassist
mnetassist:包名
提示: 查看安装的程序的包名
dpkg -l | grep 'netass'
-
通过apt-get包管理器从软件源中在线安装(最常用的方式)
apt-get 常用命令:
sudo apt-get install package
sudo apt-get remove package
sudo apt-get update 更新源示例3: 安装sl包,并且演示效果
安装: sudo apt-get install sl
卸载: sudo apt-get remove sl