对应视频链接:01-课程安排_哔哩哔哩_bilibili:0-100
目录
常见终端命令
完整的流程
echo “Hello world” > a 直接创建a 文件并将helloworld 给a
cat a 查看a 文件内容
cd 切换命令
cd 回到家目录home/pc
pwd 查看当前目录
cd - 在最近两次的路径进行切换
通配符
- touch 233.txt 创建文件命令
- ls -lh 看到文件详细信息
- ls 1* 其中星号代表任意字符,可以找到以1开头的所有文件
- ls *1.txt 找到以1结尾的所有txt文件
- ls *3 * 可以找到以3结尾的所有文件
- ls ?2?.txt 其中?只能代表一个字符,找到中间为2的所有txt文件
- ls [123456]23.txt 只要是以23结尾,前面符合【】内的内容,都会被显示
- ls [1-3]23.txt 可以显示出以23结尾,123开头的内容
相对路径和绝对路径
绝对路径以/或~开始,所有文件从根目录/开始,~表示家目录
相对路径是相对当前路径的路径
创建和删除
touch 文件名 创建一个新的文件,或者修改文件的末次修改时间
mkdir 创建新的目录 注意:文件名不能和当前目录下的文件同名
rm 直接删除文件,不能恢复
rm -r 文件夹名 删除该文件夹下的所有文件夹
rm -f 文件夹名 强制删除,如果没有也不会报错
rm *1.txt 删除所有以1结尾的文件
不要到/根目录里面删除,一般就在~里面
- 如果要创建a/b/c, mkdir -p a/b/c
拷贝和移动文件
tree 文件名 以树状图显示目录结构 .表示当前文件夹目录
tree -d 文件名 只显示文件夹,不显示文件夹内部文件
cp 源文件 目标文件
cp -i 源文件 目标文件 覆盖文件前会问你,是否覆盖,输入y or n
cp -r 源文件夹 目标文件夹 将源文件夹下的所有文件夹,复制到目标文件夹
mv -i 源文件 目标文件 移动文件时会提示,是否移动
mv 源文件 目标文件 如果两个文件在同一个路径下,但文件名不同,可以起到重命名的作用(文件夹同理)
文件内容命令
cat 文件名 查看文件内容,创建文件夹,文件合并、
cat -b 文件名 在内容中显示非空的行号 ——>nl和cat -b 效果等价
cat -n 文件名 所有行的行号显示出来
more 文件名 分屏显示文件内容 b往前看显示前一页内容,q退出目前查看格式
cat一次性显示所有内容(适合内容少的) more一次只显示一页(适合内容多的文件)
grep 文本内容 想要搜索文本内容对应的文件名 文本搜索
grep -n 文件名 显示文本及行号
grep -v 文件名 显示不包含文本的所有行
grep -vn 文件名 显示不包含文本的所有行及显示行号
grep -i 文件名 忽略大小写 如果是两个单词,应该用引号进行连接
gerp ^a 文件名 搜索以a开头的行,判断指定的文本必须出现在指定的行首
gerp ke$ 文件名 搜索以ke结束的行
echo和重定向
echo 文字内容 将文件内容在终端显示出来(和重定向连用,就是将终端的内容输入到对应的文件)
echo 文字内容 > 文件名 输出,覆盖文件名中原有内容
echo 文字内容 >> 文件名 追加,加到文件末尾
ls -lh 显示当前文件夹下的所有信息
ls -lha 显示包括隐藏文件的所有文件
ls -lh > a 将ls -lh输出的信息,全部覆盖到a文件中
管道 | 相当于同时处理两个信息
左边塞输出 | 右边取东西作为输入 常见more grep
ls -lha ~ | more 将所有文件信息,以列表的形式进行分屏显示
ls -lha ~ | grep mo 在显示家目录的所有文件信息中,查找文件名中有mo的文件
电脑相关命令
关机重启
shutdown 1min中后关机电脑
shutdown -c 取消关机
shutdown -r now 立刻重新启动
shutdown 20:20
查看配置网卡信息
网卡:负责电脑通信的硬件设备(插网线)相当于SIM卡
IP:电脑地址信息,相当于电话号,每台电脑不能相同
端口号找到计算机中运行的程序,相当于手机的app
ifconfig 查看电脑网卡信息
物理网卡常用ensXX
ens33和lo不需要看网卡名称 127.0.0.1专门测试本地网卡是否工作
ifconfig | grep inet ,显示不同的网卡对应的ip
ping ip地址/域名 成功连接到目标ip
SSH远程管理
win需要安装SSH客户端
域名:www.baidu.com是ip的另一种表示
SSH服务器默认端口号:22
Web服务器默认端口号:80
HTTPS默认端口号:443
FTP服务器默认端口号:21
通过域名或者ip找到对应的服务器,通过端口号找到web服务器中的软件,在web程序中找到对应的网址输入给计算机
ssh [-p port ] user@remote
user:远程机器的用户名
remote:远程机器的地址(ip地址或域名或别名)
port:SSH端口号
连接步骤:
1.在想要连接的电脑中输入 ifconfig | grep inet,找到inet地址
2.在想要操控的这台电脑输入ssh -p 22 远程电脑用户名@IP地址
exit退出当前用户登录
scp远程拷贝文件
scp [-P port ] user@remote(如果SSH服务器端口不是22,则要用port ,否则可以不用)
scp -P port 源文件 user@remote:远程目录 把本地源文件复制到远程目录
scp -P port user@remote:远程源文件地址 本地文件 将远程的源文件复制到本地文件中
scp -r demo user@remote:Desktop 将本地demo文件夹复制到远程的Desktop文件夹中
scp -r user@remote:Desktop demo 将远程的Desktop文件复制到当前的demo文件夹
用户权限
确定用户权限
给文件目录权限:可读(r),可写(w),可执行(x)
给不同的人(但有相同需求的)设置成一个组,给组一个权限
ls -l 查看文件下的详细信息
- 第一个显示的-表示文件,d表示文件夹,后面三个字符一组。
rwx表示可读(阅读文件内容),可写(修改文件内容),可执行(执行终端)
python拥有者的权限为rwx;第二个python是组的名称,也是rwx;第三个r-x为其他用户权限
python用户名和权限夹着的1、2、3表示硬链接数,表示有几种方式可以打开目录/文件 (子目录数越多,硬连接数越多)
chmod +/-rwx 文件名或目录名 给文件名或目录名增减权限
gedit a.txt 可以打开a文件
chmod -rw a.txt 将a文件的读和写权限都删除
sudo 使用超级用户权限,以root用户进行操作
sudo 输入密码后能够保证5min内,无需输入命令而可以直接进行任何操作
用户信息保存在etc/passwd
组信息保存在etc/group
shell就是可以输入终端命令的窗口
sudo usrmod -s /bin/bash 用户名 (修改用户默认登录的shell为bash)
Xshell在dash(Ubuntu在dash)中不好用,
which ls 查找命令所在的位置
- 总结:一般后期软件在bin、usr/bin中,系统所在的位置常常有s
whoami 确定当前用户名
su - 用户名 切换到用户的家目录
su 用户名 直接切换用户
exit 退出当前用户,回到上一层用户
修改文件权限
chown 修改文件拥有者(第一个python)
chown 用户名 文件名/目录名
chgrp 修改组(第二个python)
chgrp -R 组名 文件名|目录名
chmod 修改权限(第一列权限)
chmod -R 775 文件名|目录名(7表示文件拥有者权限,5表示组成员权限,5表示其他用户权限,-R表示文件夹及以下所有文件)
可读4,可写2,可执行1
系统信息
ssh 登录到服务器进行操作,只能使用命令,没有图形化界面
date 系统时间
cal 系统日历 cal -y 显示12个月完整日历
df -h 【目录名】 disk free 查看磁盘剩余空间 重点看磁盘根目录/内有多少剩余空间
du -h 【目录名】 disk use查看目录磁盘的空间占用情况
进程:当前正在执行的程序
ps aux process status 查看当前用户启动的程序列表
- top 动态显示进程,并根据占用cpu情况进行排序,按q退出
取消进程的具体步骤:
ps au 找到不用的终端端口
kill -9 端口号 删除(-9表示强行删除)
不要杀死root开启的进程,可能会导致崩溃
其他命令
find 查找文件
find 【路径】 -name “*.py” 查找指定路径下扩展名为py 的文件,包括子目录,如果没有路径,则表示在当前路径下
ln 建立软链接:类似于快捷方式
ln -s 被链接的源文件(绝对路径) 连接文件名(相当于快捷方式名)
注意:没有-s建立的是硬链接(硬链接不会受到源文件的改变而改变),想要创建链接的文件必须使用绝对路径,防止之后移动链接文件后出错
linux中文件名和文件数据保存在不同位置,软连接的文件名—→软链接文件数据对应的源文件名——>找到对应的文件数据,如果删掉源文件名,则无法通软链接找到文件内容;硬链接相当于文件名的第二个名字;删掉源文件的文件名,文件内容不会受到影响
tar 压缩和打包
tar只负责打包,不负责压缩- tar -cvf 文件名 命名一个打包文件名.tar 被打包的文件、路径
tar -xvf 打包文件.tar
gzip压缩tar打包后的文件,扩展名为xxx.tar.gz 先tar打包后gz压缩
- 对文件进行打包和压缩
tar -zcvf 打包文件名.tar.gz 被压缩的文件、路径
tar -zxvf 打包文件.tar.gz
tar -zxvf 打包文件.tar.gz -C 目标路径 (解压缩到指定的目标目录,要求该目录必须存在)
bzip2压缩tar打包后的文件,拓展名xxx.tar.bz2
tar -jcvf 打包文件.tar.bz2 被压缩的文件、路径
tar -jxvf 打包文件.tar.bz2
apt-get 软件安装
sudo apt install 软件包
sudo apt remove 软件名
sudo apt upgrade