1,命令基本格式
2,文件处理命令
3,文件搜索命令
4,帮助命令
5,压缩与解压缩命令
6,关机与重启命令
7,其他常用命令
root登录用户
localhost 主机名
~ 当前所在目录 家目录
pwd 家目录
-rw -r —r —
-文件类型(-文件 d目录 |软链接文件)
rw- r— r—
u所有者 g所属组 o其他人
r读 w写 x执行
建立目录
递归
mkdir -p
cd ~家目录
简化操作:
cd ~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd ..进入上一级目录
cd . 进入当前目录
相对路径:参照当前所在目录,进行查找
如: [root@imooc ~]# cd ../usr/local/src/
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
如:[root@imooc ~]# cd /etc/
删除目录
rmdir
touch abc
rm -rf 强制删除
-r 删除目录
-f 强制
复制命令:cp
cp [选项] [原文件或目录] [目标目录]
-r复制目录
-p连带文件属性复制
-d若源文件是链接文件,则复制链接属性
-a相当于-pdr (所有内容都一样)
剪切或改名命令:mv
mv [原文件或目录] [目标目录]
常用目录的作用
/ 根目录
/bin 命令保存目录
/boot 启动目录、启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户的家目录
/lib 系统库保存目录
/mnt 系统挂载目录
/media 挂载目录
根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的
/root 超级用户的家目录
/tmp 临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc直接写上内存的
/sys
/usr 系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var 系统相关文档内容
链接命令
ln -s [原文件] [目标文件]
硬链接特征
1,拥有相同的i节点和存储block块,可以看做是同一个文件
2,可通过i节点识别 ls -i
3,不能跨分区
4,不能针对目录使用
软链接特征:
1,类似Windows快捷方式
2,软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点好,并没有实际的文件数据
3,lrwxrwxrwx l 软链接
软链接文件权限都为rwxrwxrwx
4,修改任意文件,另一个都改变
5,删除原文件,软链接不能使用
软链接 原文件需要绝对路径
Linux中文件搜索命令locale
文件搜索命令locate
命令搜索命令whereis与which
文件搜索命令find
字符串搜索命令grep
find命令与grep命令的区别
locate命令格式
locate文件名
在后台数据库中按文件名搜索,搜索速度很快
/var/lib/mlocate
locate命令所搜索的后台数据库 (每天更新)
updatedab
更新数据库
/etc/updatedb.conf 配置文件
locate速度快但只能按文件名搜索
搜索命令的命令whereis
搜索命令所在路径及帮助文档所在位置
选项:
-b:只查找可执行文件
-m:只查找帮助文件
which可看到别名
系统环境命令:
echo $PATH
find [搜索范围] [搜索条件]
搜索文件
find / -name install.log
避免大规模搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
Linux中的通配符
*匹配任意内容
?匹配任意一个字符
[]中括号匹配任意一个中括号内的字符
find /root -iname install.log
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
查找没有所有者的文件
find /var/log/ -mtime +10
查找10天前修改的文件
-10 10天内修改的文件
10 10当天修改的文件
+10 10前修改的文件
atime 文件访问时间
ctime改变文件属性
mtime修改文件内容
find . -size 25k
find . -size 25M
查找当前目录(.)文件大小是25k的文件
-25k 小于25k的文件
25k 等于25k的文件
+25k 大于25k的文件
find . -inum 262422
查找i节点是26422的文件
ls -i i节点
find /etc -size +20k -a -size -1M
查找/etc/目录下,大于20kb并且小于1Mb的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -1M -exec ls -lh {} ;
查找/etc/目录下,大于20kb并且小于1Mb的文件,并显示详细信息
-exec/-ok 命令{} ; 对搜索结果执行操作
比如找到文件并删除
find /root -inum 262421 -exec rm -rf {} ;
字符串搜索grep
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep命令:在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
帮助命令man
帮助命令
man 命令
获取指定命令的帮助
man ls
查看ls的帮助
man -f 命令
相当于
whatis 命令
shell内部命令帮助
help shell内部命令
获取shell内部命令的帮助
例如:
whereis cd
确定是否是shell内部命令 没有可执行文件 就是shell自带的
help cd
获取内部命令帮助
压缩有解压缩命令
常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
zip 压缩文件名 源文件
压缩文件
zip -r 压缩文件名 源目录
压缩目录
unzip压缩文件
.gz格式压缩
gzip源文件
gzip 源文件
压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
压缩为.gz格式,源文件保留
gzip -r 目录
压缩目录下所有的子文件,但是不能压缩目录
gzip -d 压缩文件
解压缩文件
gunzip 压缩文件
解压缩文件
bz2压缩方法或命令 同 gzip
打包命名tar
tar -cvf 打包文件名 源文件
选项:
-c:打包
-v:显示过程
-f:指定打包后的文件名
例如:
tar -cvf longzls.tar longzls
目录,先打包再压缩
解打包命令
tar -xvf 打包文件名
选项:
-x:解大包
例如:
tar -xvf longzls.tar
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z:压缩为.tar.gz格式
tar -zxvf 压缩名.tar.gz
选项:
-x:解压缩.tar.gz格式
压缩多个文件 空格隔开
1,shutdown命令
[root@localhost ~] # shutdown [选项] 时间
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
2,其他关机命令
halt
poweroff
init 0
不保存数据
3,其他重启命令
reboot
init 6
4,系统运行级别
0,关机
1,单用户
2,不完全用户,不含nfs服务
3,完全多用户
4,未分配
5,图形界面
6,重启
run level
5,退出登录命令
logout
挂载命令
用户登录查看和用户交互命令
1,查询与自动挂载
[root@localhost ~] # mount
查询系统中已经挂载的设备
[root@localhost ~] # mount -a
以及配置文件/etc/fstab的内容,自动挂载
2,挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统:加入文件类型系统来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-o 特殊选项:可以指定挂载的额外选项
例如:
exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行的文件,默认是exec允许
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
3,挂载光盘
mkdir /mnt/cdrom/
建立挂载点
mount -t iso 9660 /dev/cdrom /mnt/cdrom
挂载光盘
mount /dev/sr0 /mnt/cdrom/
挂载光盘
sr0或cdrom
4,卸载命令
unmount /mnt/cdrom/
5,挂载u盘
fdisk -l
查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默认是不支持NTFS文件系统的
fdisk -l
查看登录用户信息
[root@localhost ~] # w
w
命令输出:
USER:登录的用户名
TTY:登录终端
FROM:从哪个IP地址登录
LOGIN@:登录时间
IDLE:用户闲置时间
JCPU;指的是和改终端连接的所有进程中占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间。
PCPU:是指当前进程所占用的时间;
WHAT:当前正在运行的命令
[root@localhost ~] # who
[root@localhost ~] # last
默认是读取/var/log/wtmp文件数据
系统中所有登录的信息
[root@localhost ~] # lastlog
查看所有用户的最后一次登录时间
默认是读取/var/log/lastlog文件数据
Shell基础
一,shell概述
二,脚本执行方式
三,bash的基本功能
1,shell是什么
shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统程序,用户也用shell来启动、挂起、停止甚至是编写一些程序。
shell还是一个功能相当强大的编程语言、易编写、易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令
shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh
看自己的shell是哪个
echo $SHELL
二,基本执行
1,echo输出命令
echo [选项] [输出内容]
选项:
-e:支持反斜线控制的字符转换
2,第一个脚本
3,脚本执行
赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
通过Bash调用执行脚本
bash hello.sh
alias
别名永久生效与删除别名
vi ~/.bashrc
写入环境变量配置文件
unalias 别名
删除别名
source .bashrc
立即生效
命令生效顺序
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行bash的内部命令
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
常用快捷键
ctrl+c 强制终止当前命令
ctrl+l 清屏
ctrl+a 光标移动到命令行行首
ctrl+e 光标移动到命令行行尾
ctrl+u 从光标所在位置删除行首
ctrl+z 把命令放入后台
ctrl+r 在历史命令中搜索
1,历史命令
history [选项] [历史命令保存文件]
选项:
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
文件中和 history展示的并不一样
history -w 强制写入 ~/.bash_history
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改
HISTSIZE=10000
历史命令的调用:
使用上下箭头调用以前的历史命令
使用 !n 重复执行第n条历史命令
使用!! 重复执行上一条命令
使用!字符串 重复执行最后条以该字符串开头的命令
标准输入输出
键盘 /dev/stdin 0
显示器 /dev/sdtout 1
显示器 /dev/stderr 2
2,输出重定向
命令 > 文件 以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中
命令 >> 文件 以追加的方式,把命令的正确输出输出到指定的文件或设备当中
错误命令 2>文件 以覆盖的方式,把命令的错误输出输出到指定的文件或设备中
错误命令 2>>文件 以追加的方式,把命令的错误输出输出到指定的文件或设备中
正确输出和错误输出同时保存
命令 > 文件 2 >&1
命令 >> 文件2>&1
命令 &>文件
命令 &>>文件
命令 >>文件1 2>> 文件2 把正确的输出追加到文件1中,把错误的输出追加到文件2中
3,输入重定向
[root@localhost ~] # wc [选项] [文件名]
选项:
-c统计字节数
-w统计单词数
-l统计行数
管道符:
1,多命令顺序执行
; 命令1;命令2
多个命令顺序执行,命令直接没有任何逻辑关系
&& 命令1&&命令2
逻辑与 当命令1正确执行,则命令2才会执行;当命令1执行不正确,则命令2不会执行
|| 命令1||命令2
逻辑或 当命令1执行不正确,则命令2才会执行;当命令1正确执行,则命令2才会执行
利用正确输出后 输出yes 判断执行成功与否
ls && echo yes || echo no
2,管道符
命令格式:
命令1 | 命令2
命令1的正确输出作为命令2的操作对象
eg:
ls -l /etc/ | more
对结果分屏显示
eg:
netstat -an | grep ESTABLISHED
判断服务器上多少客户端在连接
1,通配符
? 匹配一个任意字符
*匹配0个或任意多个字符
[]匹配括号中任意一个字符
[-]匹配括号中任意一个字符,-代表一个范围
[^]逻辑非,表示匹配不是括号中的一个字符
ls dzp*
2,bash中其他特殊符号
’’ 单引号,在单引号中所有的特殊符号,如“$”和“`”都没有特殊含义
“”双引号,在双引号中特殊符号都没有特殊含义,但是“$”、“`”和“\”是例外,拥有“调用变量的值”、“引用命令”和”转义符“的特殊含义
``反引号,括起来的内容是系统命令,在bash中会先执行它。和$()作用一样
$() 和反引号作用一样,用来引用系统命令。
$ 用于调用变量的值
\ 转义符,跟踪\之后的特殊符号将失去特殊含义
直接覆盖原来的文件?
使用ssh命令行传输文件到远程服务器
1,上传本地文件到服务器
scp /path/filename username@servername:/path/
例如scp /var/www/test.php [email protected]:/var/www/
把本机/var/www/目录下的test.php文件上传到这台服务器上的/var/www/目录中
2,从服务器上下载文件
下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?
scp username@servername:/path/filename /var/www/local_dir
例如scp [email protected]:/var/www/test.txt /var/www/local_dir
3,从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/ /var/www/local_dir
4,上传目录到服务器
scp -r local_dir username@servername:remote_dir
scp -r /Users/xhzh/yxFiles/pythonProj/CFlaskProj [email protected]:/root/zhxh_proj
ModuleNotFoundError: No module named 'flask_sqlalchemy'
1,命令基本格式
2,文件处理命令
3,文件搜索命令
4,帮助命令
5,压缩与解压缩命令
6,关机与重启命令
7,其他常用命令
root登录用户
localhost 主机名
~ 当前所在目录 家目录
pwd 家目录
-rw -r —r —
-文件类型(-文件 d目录 |软链接文件)
rw- r— r—
u所有者 g所属组 o其他人
r读 w写 x执行
建立目录
递归
mkdir -p
cd ~家目录
简化操作:
cd ~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd ..进入上一级目录
cd . 进入当前目录
相对路径:参照当前所在目录,进行查找
如: [root@imooc ~]# cd ../usr/local/src/
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
如:[root@imooc ~]# cd /etc/
删除目录
rmdir
touch abc
rm -rf 强制删除
-r 删除目录
-f 强制
复制命令:cp
cp [选项] [原文件或目录] [目标目录]
-r复制目录
-p连带文件属性复制
-d若源文件是链接文件,则复制链接属性
-a相当于-pdr (所有内容都一样)
剪切或改名命令:mv
mv [原文件或目录] [目标目录]
常用目录的作用
/ 根目录
/bin 命令保存目录
/boot 启动目录、启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户的家目录
/lib 系统库保存目录
/mnt 系统挂载目录
/media 挂载目录
根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的
/root 超级用户的家目录
/tmp 临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc直接写上内存的
/sys
/usr 系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var 系统相关文档内容
链接命令
ln -s [原文件] [目标文件]
硬链接特征
1,拥有相同的i节点和存储block块,可以看做是同一个文件
2,可通过i节点识别 ls -i
3,不能跨分区
4,不能针对目录使用
软链接特征:
1,类似Windows快捷方式
2,软链接拥有自己的i节点和block块,但是数据块中只保存原文件的文件名和i节点好,并没有实际的文件数据
3,lrwxrwxrwx l 软链接
软链接文件权限都为rwxrwxrwx
4,修改任意文件,另一个都改变
5,删除原文件,软链接不能使用
软链接 原文件需要绝对路径
Linux中文件搜索命令locale
文件搜索命令locate
命令搜索命令whereis与which
文件搜索命令find
字符串搜索命令grep
find命令与grep命令的区别
locate命令格式
locate文件名
在后台数据库中按文件名搜索,搜索速度很快
/var/lib/mlocate
locate命令所搜索的后台数据库 (每天更新)
updatedab
更新数据库
/etc/updatedb.conf 配置文件
locate速度快但只能按文件名搜索
搜索命令的命令whereis
搜索命令所在路径及帮助文档所在位置
选项:
-b:只查找可执行文件
-m:只查找帮助文件
which可看到别名
系统环境命令:
echo $PATH
find [搜索范围] [搜索条件]
搜索文件
find / -name install.log
避免大规模搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配
Linux中的通配符
*匹配任意内容
?匹配任意一个字符
[]中括号匹配任意一个中括号内的字符
find /root -iname install.log
不区分大小写
find /root -user root
按照所有者搜索
find /root -nouser
查找没有所有者的文件
find /var/log/ -mtime +10
查找10天前修改的文件
-10 10天内修改的文件
10 10当天修改的文件
+10 10前修改的文件
atime 文件访问时间
ctime改变文件属性
mtime修改文件内容
find . -size 25k
find . -size 25M
查找当前目录(.)文件大小是25k的文件
-25k 小于25k的文件
25k 等于25k的文件
+25k 大于25k的文件
find . -inum 262422
查找i节点是26422的文件
ls -i i节点
find /etc -size +20k -a -size -1M
查找/etc/目录下,大于20kb并且小于1Mb的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -1M -exec ls -lh {} ;
查找/etc/目录下,大于20kb并且小于1Mb的文件,并显示详细信息
-exec/-ok 命令{} ; 对搜索结果执行操作
比如找到文件并删除
find /root -inum 262421 -exec rm -rf {} ;
字符串搜索grep
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep命令:在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配
帮助命令man
帮助命令
man 命令
获取指定命令的帮助
man ls
查看ls的帮助
man -f 命令
相当于
whatis 命令
shell内部命令帮助
help shell内部命令
获取shell内部命令的帮助
例如:
whereis cd
确定是否是shell内部命令 没有可执行文件 就是shell自带的
help cd
获取内部命令帮助
压缩有解压缩命令
常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
zip 压缩文件名 源文件
压缩文件
zip -r 压缩文件名 源目录
压缩目录
unzip压缩文件
.gz格式压缩
gzip源文件
gzip 源文件
压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件
压缩为.gz格式,源文件保留
gzip -r 目录
压缩目录下所有的子文件,但是不能压缩目录
gzip -d 压缩文件
解压缩文件
gunzip 压缩文件
解压缩文件
bz2压缩方法或命令 同 gzip
打包命名tar
tar -cvf 打包文件名 源文件
选项:
-c:打包
-v:显示过程
-f:指定打包后的文件名
例如:
tar -cvf longzls.tar longzls
目录,先打包再压缩
解打包命令
tar -xvf 打包文件名
选项:
-x:解大包
例如:
tar -xvf longzls.tar
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z:压缩为.tar.gz格式
tar -zxvf 压缩名.tar.gz
选项:
-x:解压缩.tar.gz格式
压缩多个文件 空格隔开
1,shutdown命令
[root@localhost ~] # shutdown [选项] 时间
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
2,其他关机命令
halt
poweroff
init 0
不保存数据
3,其他重启命令
reboot
init 6
4,系统运行级别
0,关机
1,单用户
2,不完全用户,不含nfs服务
3,完全多用户
4,未分配
5,图形界面
6,重启
run level
5,退出登录命令
logout
挂载命令
用户登录查看和用户交互命令
1,查询与自动挂载
[root@localhost ~] # mount
查询系统中已经挂载的设备
[root@localhost ~] # mount -a
以及配置文件/etc/fstab的内容,自动挂载
2,挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统:加入文件类型系统来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-o 特殊选项:可以指定挂载的额外选项
例如:
exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行的文件,默认是exec允许
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
3,挂载光盘
mkdir /mnt/cdrom/
建立挂载点
mount -t iso 9660 /dev/cdrom /mnt/cdrom
挂载光盘
mount /dev/sr0 /mnt/cdrom/
挂载光盘
sr0或cdrom
4,卸载命令
unmount /mnt/cdrom/
5,挂载u盘
fdisk -l
查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默认是不支持NTFS文件系统的
fdisk -l
查看登录用户信息
[root@localhost ~] # w
w
命令输出:
USER:登录的用户名
TTY:登录终端
FROM:从哪个IP地址登录
LOGIN@:登录时间
IDLE:用户闲置时间
JCPU;指的是和改终端连接的所有进程中占用的时间。这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间。
PCPU:是指当前进程所占用的时间;
WHAT:当前正在运行的命令
[root@localhost ~] # who
[root@localhost ~] # last
默认是读取/var/log/wtmp文件数据
系统中所有登录的信息
[root@localhost ~] # lastlog
查看所有用户的最后一次登录时间
默认是读取/var/log/lastlog文件数据
Shell基础
一,shell概述
二,脚本执行方式
三,bash的基本功能
1,shell是什么
shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统程序,用户也用shell来启动、挂起、停止甚至是编写一些程序。
shell还是一个功能相当强大的编程语言、易编写、易调试,灵活性强。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令
shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh
看自己的shell是哪个
echo $SHELL
二,基本执行
1,echo输出命令
echo [选项] [输出内容]
选项:
-e:支持反斜线控制的字符转换
2,第一个脚本
3,脚本执行
赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
通过Bash调用执行脚本
bash hello.sh
alias
别名永久生效与删除别名
vi ~/.bashrc
写入环境变量配置文件
unalias 别名
删除别名
source .bashrc
立即生效
命令生效顺序
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行bash的内部命令
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
常用快捷键
ctrl+c 强制终止当前命令
ctrl+l 清屏
ctrl+a 光标移动到命令行行首
ctrl+e 光标移动到命令行行尾
ctrl+u 从光标所在位置删除行首
ctrl+z 把命令放入后台
ctrl+r 在历史命令中搜索
1,历史命令
history [选项] [历史命令保存文件]
选项:
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
文件中和 history展示的并不一样
history -w 强制写入 ~/.bash_history
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改
HISTSIZE=10000
历史命令的调用:
使用上下箭头调用以前的历史命令
使用 !n 重复执行第n条历史命令
使用!! 重复执行上一条命令
使用!字符串 重复执行最后条以该字符串开头的命令
标准输入输出
键盘 /dev/stdin 0
显示器 /dev/sdtout 1
显示器 /dev/stderr 2
2,输出重定向
命令 > 文件 以覆盖的方式,把命令的正确输出输出到指定的文件或设备当中
命令 >> 文件 以追加的方式,把命令的正确输出输出到指定的文件或设备当中
错误命令 2>文件 以覆盖的方式,把命令的错误输出输出到指定的文件或设备中
错误命令 2>>文件 以追加的方式,把命令的错误输出输出到指定的文件或设备中
正确输出和错误输出同时保存
命令 > 文件 2 >&1
命令 >> 文件2>&1
命令 &>文件
命令 &>>文件
命令 >>文件1 2>> 文件2 把正确的输出追加到文件1中,把错误的输出追加到文件2中
3,输入重定向
[root@localhost ~] # wc [选项] [文件名]
选项:
-c统计字节数
-w统计单词数
-l统计行数
管道符:
1,多命令顺序执行
; 命令1;命令2
多个命令顺序执行,命令直接没有任何逻辑关系
&& 命令1&&命令2
逻辑与 当命令1正确执行,则命令2才会执行;当命令1执行不正确,则命令2不会执行
|| 命令1||命令2
逻辑或 当命令1执行不正确,则命令2才会执行;当命令1正确执行,则命令2才会执行
利用正确输出后 输出yes 判断执行成功与否
ls && echo yes || echo no
2,管道符
命令格式:
命令1 | 命令2
命令1的正确输出作为命令2的操作对象
eg:
ls -l /etc/ | more
对结果分屏显示
eg:
netstat -an | grep ESTABLISHED
判断服务器上多少客户端在连接
1,通配符
? 匹配一个任意字符
*匹配0个或任意多个字符
[]匹配括号中任意一个字符
[-]匹配括号中任意一个字符,-代表一个范围
[^]逻辑非,表示匹配不是括号中的一个字符
ls dzp*
2,bash中其他特殊符号
’’ 单引号,在单引号中所有的特殊符号,如“$”和“`”都没有特殊含义
“”双引号,在双引号中特殊符号都没有特殊含义,但是“$”、“`”和“\”是例外,拥有“调用变量的值”、“引用命令”和”转义符“的特殊含义
``反引号,括起来的内容是系统命令,在bash中会先执行它。和$()作用一样
$() 和反引号作用一样,用来引用系统命令。
$ 用于调用变量的值
\ 转义符,跟踪\之后的特殊符号将失去特殊含义
直接覆盖原来的文件?
使用ssh命令行传输文件到远程服务器
1,上传本地文件到服务器
scp /path/filename username@servername:/path/
例如scp /var/www/test.php [email protected]:/var/www/
把本机/var/www/目录下的test.php文件上传到这台服务器上的/var/www/目录中
2,从服务器上下载文件
下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?
scp username@servername:/path/filename /var/www/local_dir
例如scp [email protected]:/var/www/test.txt /var/www/local_dir
3,从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/ /var/www/local_dir
4,上传目录到服务器
scp -r local_dir username@servername:remote_dir
scp -r /Users/xhzh/yxFiles/pythonProj/CFlaskProj [email protected]:/root/zhxh_proj
ModuleNotFoundError: No module named 'flask_sqlalchemy'