Linux系统基础指令集
====LS命令相关
ls -a 目录名 显示隐藏文件(以.开头的为隐藏文件。例如.list)
ls -l 目录名 以列表的方式显示文件列表详细信息
ls -lh 目录名 在ls -l 的基础上显示文件大小
====通配符的使用
* :代表任意个字符(0---N) *L表示以L结尾的,L*表示以L开头的
? :代表任意一个字符,只能一个 ,1?1表示一个三位数,可以是121,131,141等等
[ ] :可以配出字符组中的任意一个 如:[123]5,可配出15,25,35
[1-5] : 可以配出范围字符组中的任意一个 如:[1-5]可以配出[11][12][13][14][15]
====cd切换目录相关(更改目录)
cd ~ =切换用户主目录
cd . =保持当前目录
cd . . =切换上级目录
cd - =在最近两次目录中切换
====创建和删除操作
touch
--touch 文件名 如文件不存在,创建一个;文件存在,修改文件最后修改日期
mkdir
--mkdir 要创建的目录 创建一个新的目录
--mkdir -p 1/2/3/4 嵌套创建目录文件
rm
--rm 文件名 删除文件,永久删除,只能删除文件不能删除目录
--rm -r 要删除的目录 删除目录
====拷贝和移动文件
cp
--cp 源文件 目标文件 复制文件
--cp -r 源目录 目标目录 复制目录
tree
--tree 目录名 以树状图列出当前目录中的文件与目录的结构
--tree -d 目录名 只显示目录结构
mv
--mv 源文件 目标文件 ==移动文件或者目录,也可以给其重新命名123
--mv -i 源文件 目标文件 ==覆盖文件之前给出提示(在使用mv之前最好加上 -i )
查看文件内容
--cat 文件名 查看文件内容、创建文件、合并文件内容
--more 文件名 分屏显示文件内容
cat
显示文件所有内容,适用于较少的内容
--cat -b 文件名 ==对非空行进行编号
--cat -n 文件名 ==对所有行编号
more
--more 文件名
分屏显示内容,每次只显示一页内容
适用于内容多的文件
grep 搜索工具
--grep 要搜索的内 文件名 例:grep as cat 在cat文件中找有关as的内容
--grep -n 要查找到内容 查找的文件 =显示匹配行及行号
--grep -v 要查找到内容 查找的文件 =显示不包含匹配文本的行(与上一个取反关系)
--grep -i 要查找到内容 查找的文件 =忽略大小写
--grep -in 要查找到内容 查找的文件 =忽略大小写并显示行号
--grep -vn 要查找到内容 查找的文件 =显示不包含匹配文本的行并显示行号
--grep -^f 要查找到内容 查找的文件 =显示首字母为f的行
--grep -f$ 要查找到内容 查找的文件 =显示尾字母为f的行
文字内容 echo
--echo 要输出的文字 会在终端显示指定的文字,通常和重定向联合使用
重定向>和>>
> 表示输出,会覆盖原有内容
echo 内容 > 文件名
>> 表示追加,会将内容追加到文件末尾
echo 内容 >> 文件名
管道“|”(竖线)
--输入 | 输出 如:cat 123.py | grep python ‘|’左边为输入,‘|’右边为输出。查看123.py文件,再找出含有python内容的行。
例:ls -lha ~ | more
将家目录中所有文件以列表的形式传输给more,在由more进行分屏输出处理
即:对输入的结果进行二次处理(简化步骤)
遇到问题:虚拟机开机后黑屏
解决问题:主机CMD,输入netsh winsock reset 回车重置网络格并重启计算机。
关机/重启
--sudo shutdown 选项 时间
--sudo shutdown -r now 立刻重启
--shutdown now 立刻关机
--shutdown 20:30 将在20:30关机
--shutdown +10 将在10分钟后关机
--shutdown -r +10 将在10分钟后重启
--shutdown -r 10:30 将在20:30重启
网卡和IP地址
--ifconfig 查看网卡配置
--ifconfig | gerp inet 查询IP地址(inet)
--ip rout 查看建议路由信息
各类端口
SSH服务器 22
Web服务器 80
HTTPS 443
FTP服务器 21
SSH 22
SSH客户端基本使用
--SSH -p port user@remote
port: 端口号(默认22)
user: 远程机上的用户名
remote: 远程机的IP地址(域名/别名)
SCP远程拷贝文件
--scp -P port 01.py (当前文件下的01.py) user@remote:Desktop/01.py 本地---->远程
--scp -P port user@remote:Desktop/01.py ./01.py (保存的位置和文件名) 远程----->本地
ls拓展
当命令ls -l 输入时,文件以列表方式显示如下内容:以下为显示的内容含义
首 rwx rwx r-x 1 拥有者 组员 大小 修改时间 文件名
组管理,终端命令
--sudo groupadd 组名 添加组
--sudo groupdel 组名 删除组
--cat/etc/group 确认组信息
--sudo chgroup -R 组名 文件/目录名 修改文件/目录的所属组
例如:
--sudo chgrp -R dev(目标组) Python学习(要修改组的文件)
用户管理,终端命令
创建用户/设置密码/删除用户
--sudo useradd -m -g 组 新建的用户
--sudo passwd 用户名 设置用户密码,普通用户修改密码(必须设置密码,否则无法远程操作)
--userdel -r 用户名 删除用户 -r选项会自动删除用户家目录
--cat/etc/passwd | grep 用户名 确认组信息
查看用户信息
id 用户名 查看用户UID(用户表示)与GID(组标识)
who 查看当前所有用户的信息(包括远程用户)
whoiam 查看自身
usermod 修改用户附加组
--sudo usermod -g 组 用户名 修改用户主组(passwd中的GID)
--sudo usermod -G 组 用户名 给用户附加权限(-G)
--sudo usermod -s /bin/bash 用户名 将Ubuntu中户shell改成bash(默认是dash,不好用)
切换用户
--su 用户名
--su - 用户名 切换到用户家目录
which 终端命令(重要)
可查询终端命令在哪个目录下
/bin (binary) 二进制执行文件,主要用于具体应用
/sbin (sustem binary) 管理员专用二进制文件,主要用于具体应用
/user/bin (suer commands for applications) 后期安装的软件
/user/sbin (super user commands for app ) 超级用户的管理APP
chown 修改文件/目录拥有者 change owner
--chown 用户名 文件/目录
chgrp 修改组 change group
--chgry -R 组名 文件/目录名
chmod拓展(重要) 修改单个目录/文件权限
--chmod 775 文件名/目录名
755含义,单数可执行
拥有者权限 组权限 其他成员权限
r w x rwx r--
r(可读)代表4
w(可写)代表2
x(可执行)代表1
rwx代表7 rw-代表6 -wx代表3 以此类推
时间和日期
--date 查看系统时间
--cal (aclender) 查看日历,-y选项可查看一年的日历
--cal -y 查看一年的日历
磁盘信息
--df -h disk free显示磁盘剩余空间
--du -h disk usage 显示目录下文件的大小
进程信息 PID:进程代号
--ps au x process status 显示所有进程的详细状态
--top 动态显示所有运行中的进程并排序(直接top就行)
kill
--kill [-9] 进程代号(PID) [-9]表示强行终止
查找文件 find,与grep区分,grep是查找内容
--find 路径 -name “*.py”
例如:查找111.txt
--find [路径] -name “*.txt”
--find [路径] -name “*111*”
软连接
--ln -s 被链接的源文件(根目录开始的绝对路径) 链接文件 源文件被删除软链接不可使用
硬链接
--ln 被链接的文件 链接文件 源文件被删除不会影响链接文件使用
不同系统压缩不同压缩后缀
Windows rar
mac zip
linux tar.gz
打包文件tar
--tar -cvf 新打包文件.tar 被打包的文件(路径)
解析文件
--tar -xvf 打包的文件
压缩文件gzip
--tar只负责打包不负责压缩 用gzip压缩tar打包文件,拓展名为xxx.tar.gz
--tar -zcvf 新打包的文件.tar.gz 被打包压缩的文件
解压文件
--tar -zxvf 要打包的文件.tar.gz
解压到指定路径
--tar -zxvf 要打包的文件.tar.gz 目标路径
问题:打开Pycharm后试图创建一个新的Python文件,提示‘no moudle named distutils......’
解决:在终端命令中输入sudo apt install python3-pip