1991 年 林纳斯 linux 完善流行。
- 列表内容
linux 的目录结构差异
linux 的目录结构和window 是不一样的。唯有只有一个根目录
(Ubuntu 热键 (放大终端的文字 ctrl + shift +/- 实现放大缩小) )
linux修改文件所有者和文件所在组
chgrp 用户名 文件名 -R
chown 用户名 文件名 -R
常用linux指令
- ls
ls 常用的参数
-a 显示隐藏文件(指定目录下所有子目录与文件)
-l 以列表方式显示文件的详细信息
-h 配合-l 把文件大小按人性化显示出
ls -alh ☆
ls 通配符的使用
* 代表任意个数字符
? 代表任意一个字符,至少一个
[] 表示可以匹配字符组的任一一个
[abc] 匹配a、b、c 中的任意一个
[a-f] 匹配从a到f 范围内的任意一个字符
2.cd 指令
cd ~ 切换到当前用户的主目录
cd ../ 上级目录
3.touch指令
touch 指令 用于创建文件或修改文件时间,如果文件不存在,可以创建一个空白文件,如果文件已经存在,可以修改文件的日期
4.mkdir指令
mkdir -p + 目录名称
-p 可以递归创建目录
5.rm指令
删除文件或目录
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容
6.tree指令
tree 命令可以以树状图列出文件目录结构。
例如:
7.cp指令
cp 格式:
cp 源文件 目标文件
cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中。
-i 覆盖文件前的提示
-r 递归复制该目录下的所有子目录和文件。
8.mv指令
mv 命令可以用来移动文件或目录,也可以给文件或目录重命名
指令格式
mv 源文件 目标文件
9.cat指令
cat + 文件名 cat 是concatenate 的缩写
查看文件内容、创建文件、文件合并、追加文件内容等功能。一次显示所有的内容。
-b 对非空输出行编号
-n 对输入的所有行加编号
10.more指令
more 命令可以用于分屏显示文件内容,每次只显示一页内容,较适用于文件内容较多的文本
bash 界面操作
b(back) 回滚一屏
f/ 空格键 前滚一屏
q 退出
11.grep指令
grep 命令是一种强大的文本搜索工具
grep 允许对文本进行模式查找。(正则表达式)
-n 显示匹配行及行号
-v 显示不包括匹配文本的所有行
-i 忽略大小写
eg:
grep as +名字
grep -n as 123.txt
grep -i as 123.txt
grep -i 'hello Pyhton' 123.txt
grep ^fff 123.txt // fff 开头的文件
12.echo 命令 和> 和 >> 重定向
echo 在终端中显示指定的文字(通常和重定 向联合使用)
> 表示输出,会覆盖文件原有的内容。
>> 表示追加,会将内容追加到已有文件的末尾。
eg
echo hello Python > a
ls -lh > a
ls >> a // 追加
tree >> a
13.管道 | 概念
linux 允许将 一个命令的输出 可以通过管道 作为另一个命令的输入
eg:
ls -lha ~ | more // 这样结果就可以进行分屏了。
ls -lha ~ | grep vi
14.shutdown
shutdown 选项 时间 关机\重新启动
shutdown now 表示立刻关机
shutdown // 表示一分钟后关机
shutdown +10 十分钟后自动关机
shutdown -c // 取消光机
-r 重启 ☆必带
-c 取消关机
15.ifconfig
查看、配置计算机当前的网卡配置信息
ping 检测ip
ssh (secure shell) 远程登录工具 eg, ssh 用户名@ip
ssh [-p port] user@remote
利用exit 退出当前用户的登录
ssh 免密登陆(把ssh 配置信息都保存在用户家目录下的.ssh 目录下)
ssh 配置别名(为了更方便的ssh 登陆)
scp (secure copy) 远程复制文件 eg,scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径。
scp -P port 01.py user@remote:Desktop/01.py
scp -r user@remote:Desktop demo
scp -P 22 python@172.1717.12.3:Desktop/01.py
把远程 家目录下的Desktop 复制到 当前目录下的demo 文件夹
-P 指定端口(默认22)
-r 递归复制文件及其子文件、子目录
指定端口得用 —P (大写P)
用户权限相关命令
权限 缩写 数字代号
read r 4
write w 2
excute x 1
无权限 - 0
15.chmod 修改权限指令 ☆
chmod 可以修改 用户 / 组 对 文件 /目录 的权限
命令格式如下:
chmod +/- rwx 文件名|目录名
eg
chmod +r 01.py
chmod -r test.txt
chmod -x demo (目录权限)
15.超级用户 root ☆
linux 系统中root 账号通常用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限。
通常使用 sudo 用来以其他身份来执行命令,预设的身份为root
15.组管理 终端命令 ☆
创建组、删除组 的终端命令都需要通过sudo 来执行。
eg:
sudo groupadd dev
cat /etc/group // 确认组信息
在实际应用中,可以预先针对 组 设置好权限 ,然后 将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限。
如何设置组的权限????
15.用户管理 终端命令
tips : 创建用户、删除用户、修改其他用户密码 的终端命令都需要通过sudo执行。
eg:
sudo useradd -m -g zhangsan // 创建用户(-m 不可以省)
sudo passwd zhangsan // 设置密码
查看用户信息 (保存在/etc/passwd)
id + 用户名 查看用户uid和gid
who 查看当前所有登陆的用户列表
whoami 查看当前登陆用户的账号名
usermod 可以用来设置 用户的主组 、 附加组
注意: 默认使用useradd 添加的用户是没有权限使用sudo 以root 身份执行命令的,这个时候就得使用以下命令,将用户添加到sudo 附加组中。
eg:
usermod -G sudo 用户名 //修改用户的附加组 (附加的权限)
usermod -s /bin/bash // 修改用户登录shell(ubuntu 默认dash(功能不是很全))
**which **
which 命令可以查看执行命令所在位置
tips
/etc/passwd 是用于保存用户信息的文件
/usr/bin/paasswd 是用于修改用户密码的程序
eg:
which passwd
which ls
切换用户 指令
su - 用户名
修改文件权限
chmod 754 01.py
date 可查看系统时间
cal 是calendar 的缩写,查日历
cal -y 可以查看一年的日历。
df -h disk free 显示磁盘剩余空间
du -h [目录名] disk usage 显示目录下的文件大小
进程 -- 当前正在执行的一个程序
ps aux process status 查看进程的详细情况。
ps 默认只会显示当前用户通过终端启动的应用程序
a 显示终端上的所有进程,包括其他用户的进程。
u 显示进程的详细状态。
x 显示没有控制终端的进程。
tips :
使用kill 命令时,最好只终止由当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致系统奔溃。
top 动态显示运行中的进程并且排序。
kill [-9] 进程代号 终止指定代号的进程,-9 表示强行终止。
其他命令
find 查找文件
find [路径] -name '.py' 查找指定路径下扩展名是.py 的文件,包括子目录。
-如果省了路径,表示在当前文件夹下查找。
eg:
find Desktop/ -name '*1*'
find -name '*.txt' // txt 结尾的文件。
**软链接(类似window下的快捷方式)**
ln -s 被链接的源文件链接文件。
没有-s 选项建立的是一个硬件链接
eg
ln -s demo/0.1py 01_file_name
打包压缩
- window常用rar
- mac 常用zip
- linux 常用tar.gz
tar -xvf py.tar 文件1+文件2.。。
tar 只负责打包,不负责压缩。
还有另一种压缩方法
bzip2
tar -jcvf 打包文件名 被压缩文件名/路径
tar -jxvf 打包文件.tar.bz2
apt advance packing Tool
linux 终端命令格式
command [-options] [parameter]
说明:
- command: 命令名,相应功能的单词缩写
- [-options]: 选项,可用来对命令进行控制,也可省。
- parameter: 传给命令的参数,可以是零个、一个或者多个。
[] 代表可选
- 查询命令帮助信息
command --help
相关链接:比较详细
http://www.cybers.me/archives/110
2017-9-23