cd
change directory的缩写 改变目录的含义 cd语法 cd 可选参数 文件夹 几个特殊目录 . 目前的工作目录 .. 上级工作目录 - 上次的工作目录 ~ 目前系统登录的用户家目录
ls
list 列出文件中的内容 ls 语法 ls 可选参数 可选文件夹对象 -a all意思是显示所有文件和隐藏的内容 -l 详细的输出文件夹内容 -h 以人类可读的形式,输出文件的大小 --full-time 以完整的时间格式输出 -t 根据最终修改的时间排序文件 -F 在不同的文件结尾输出不同的文件符号 /结尾是文件夹 *最后是可执行文件 @最后是软连接,快捷方式 普通文件什么都没有 -d 显示文件夹本身的信息,不输出内容 -r reverse 逆序排序 -S 大写的S, 对文件大小进行排序,默认从小到大 -i 显示文件inode信息(文件的身份证号码,存储文件的大小、位置、权限等。
pwd
print work directory 打印工作目录的含义 输出当前绝对路径
su
su 命令用户切换 语法 su - 用户名 # 用户切换完全环境变量
logout
退出当前系统用户
mkdir
make directory 创建文件夹 语法 mkdir 文件夹名 参数用法 -p 递归创建文件夹 mkdir -p /opt/oldboy_linux/yuchao/chaoge #递归创建文件夹,且绝对路径 mkdir wangqi{1..100} wagnqi1 wagnqi2 wangqi3... wangqi100
touch
用法:touch [选项]... 文件... 将每个文件的访问时间和修改时间改为当前时间 touch有两个作用 1.创建普通文件,在Linux下文件的后缀格式只是一个名字,通过touch创建的都是普通文件 2.修改文件的时间 除非使用,否则不存在的文件将被创建为空文件-c 或 -h 选项。 touch {连续数字或字母} 创建多个文件序列 touch {1..10} touch {a..z} -c, --no-create 不创建任何文件 -t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的时间取代了当前时间 -r,--reference=文件 使用指定文件的时间属性代替当前文件的时间
touch -t 修改文件的时间 10240606 10月24日6点6分
cp
用法:cp [选项]... [-T] 源文件 目标文件 或:cp [选项]... 源文件... 目录 或:cp [选项]... -t 目录 源文件... 将源文件复制到目标文件,或将多个源文件复制到目标目录。 -r 递归复制目录,即复制目录下各级子目录和文件 -p 复制的时候 保持属性不变 -d 复制时保软连接(快捷方式) -a 等于-pdr -p 等于--preserver=模式,所有权,时间戳,保持源文件的权限和时间属性 -i --interactive 覆盖前询问提示
案例
1.复制普通文件 cp 命令 您想复制哪个文件? 复制后的文件名 2.复制普通文件并更名,放入另一个文件夹中 cp wangqi.txt ./Anneliese/ #将其他文件夹复制,保留源文件名 cp wangqi.txt ./Anneliese/wagnzhuo.txt #复制放入其他文件夹并更名 3.一次复制多个文件,放入另一个文件夹 cp wangqi.exe wanghzuo.gif ./Anneliese/ 4.复制整个文件夹,必须加上-r参数 cp -r wangqi wangqi2 5.复制并保持文件属性不变,-p参数用法 cp -p wangqi.txt wangqi.txt.2 6.复制软连接时,连接属性保持不变-d参数 cp -d link_luffy link_luffy3 7.-i文件覆盖前提示使用参数 cp -i 文件1 文件2 #如果文件2已经存在,它将被覆盖,-i会让用户输入y进行确认
mv
rm命令就是remove删除一个或多个文件的含义是Linux重要的系统命令 -f, --force 强制删除。忽略不存在的文件,不提示确认 -i 删除前需要确认 -I 提前删除三个以上的文件或者在递归删除前确认 -d, --dir 删除空目录 -r,-R,--recursive 删除目录及其内容 -v, --verbose 详细显示步骤 --help 显示此帮助信息并退出 --version 显示版本信息并退出
案例
1.删除普通文件是默认添加的-i参数,询问是否删除 rm chaoge .txt 在删除之前,你会问你是否想删除它 2.一次性删除多个文件 rm chaoge.txt.2 chaoge.txt.3 #删除多个文件,写多个名字,分割空间 3.必须删除文件夹rm添加–r参数才行,默认rm文件类型只能删除 rm -r mjj #删除mjj文件夹和内容 4.-d只能用于删除空文件夹 rm -d ilovelinux/ 5.强制删除文件而不提示 rm -f mjj* #强制删除mjj开头的文件,无法删除文件夹 6.强制删除所有文件和文件夹 rm -f -r ./* #─这个命令一定要看清楚,写作是否正确 这里重要的事情要说三遍 这里重要的事情要说三遍 这里重要的事情要说三遍 . 当前目录 / 根目录 ./ 当然,目录下的内容 rm -rf / #强制删除根目录中的所有内容,非常危险,严格敲击,删除机器的所有内容 rm -rf ./ #强制删除,相对路径,目录下的所有内容都看清楚了,同学们 7.-v参数显示删除过程 rm -rfv ./* #强制删除当前目录的所有内容并显示过程
Linux开关机
shutdown重启或关机
shutdown --help shutdown [OPTIONS. . .] [TINE] [wALL.. .] Shut down the system
重启
reboot 重启
语法: shutdown -r参数 -r --reboot Reboot the machine shutdown -r 10 #十分钟后重启 shutdown -r 0 #立刻重启 shutdown -r now #立刻重启
关机
语法: shutdawn -h --halt停上的含义 shutdawn -h 10 #十分钟后关机 shutdawn -h 0 shutdown -h now #立即关机
Linux快捷键常用于命令行
ctrl c cancel取消当前操作 ctrl l 清空屏慕内容 ctrl d 退出当前用户 ctrl a 光标移到行首 ctrl e 光标移到行尾 ctrl u 将光标删除到行首的内容
Linux的环境变量
所有的学生都应该配置windows环境变量较低(PATH),大家都知道系统会遵循PATH设定,去每一个PATH在定义目录下搜索可执行文件。
那怎么查呢?Linu下的PATH环境变量呢?
执行命令:
echo $PATH
echo命令是有打印的意思
$符号后面跟上PATH,表示输出PATH的变量
PATH(一定是大写的)这个变量是由一堆目录组成,分隔符是"∵"号,而不同于windows的";"号。
[root@luffycity ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@luffycity ~]#
vim
1.vim 文件名 #打开文件
2.输入 字母i, 进入编辑模式,代表insert
3.写完代码之后,按下esc,退出编辑模式
4.此时输入冒号,进入底线命令 然后输入
:wq! 强制保存退出vim, write quit !强制性的
5.注意输入的冒号得是英文输入法得状态
vim快捷键
vim提供的上下左右
h 向左
j 向下
k 向上
i 向右
移动光标的快捷键
w 移动到下一个单词
b 移动到上一个单词
数字0 移动到行首
字符$ 移动到行尾
g 移动到文章的开头
G 移动到文章的结尾
H 移动到屏幕的开头
L 移动到屏幕的结尾
M 移动到屏幕的中间
命令模式的查找
向下查找 /你要找的内容
/love 我要查找love相关的信息,按下n跳转到下一个单词
向上查找 ?你要找的内容 按下n寻找下一个单词
命令模式下的复制,粘贴,删除
输入 yy 复制光标所在行
输入 p 打印粘贴的内容
输入 dd 删除光标当前行
输入 D 删除光标当前位置到行尾的内容 向后删除
输入 x 删除光标当前字符 向后删除
输入 X 删除光标当前字符 向前删除
输入 u 撤销上一步的动作
快捷操作
输入 大写C 删除光标所在的位置,到行尾的内容,且进入编辑模式
输入 o 在当前光标的下一行开始编辑
输入 O 在光标的上一行开始编辑
输入 A 快速进入行尾,且进入编辑模式
输入 ZZ 快速保存退出
批量快捷操作
步骤
1.输入 ctrl + v 进入可视块模式
2.用上下左右命令,选择你选操作的块
3.选中块后,输入d 删除块内容
快捷插入多行
4.选中块后,输入大写的I,进行写代码
5.按下esc两次,会自动生成多行代码
cat
查看文件内容 | cat file.txt |
多个文件合并 | cat file.txt file2.txt > file3.tx |
非交互式编辑或追加内容 | cat >> file.txt <<EOF欢迎来到我的世界EOF |
清空文件内容 | cat/dev/null > file.txt [null是空文件] |
语法
用法: cat[选项][文件]...
将[文件]或标准输入组合输出到标准输出。
清空文件内容,慎用
>文件名
-A, --show-all 等价于-vET
-b, --number-nonblank 对非空输出行编号
-e 等价于-vE
-E,--show-ends 在每行结束处显示$
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与-vT 等价
-T,--show-tabs 将跳格字符显示为^工
-u (被忽略)
-v,--show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并退出
--version 输出版本信息并退出
如果[文件]缺省,或者[文件]为 -,则读取标准输入。
案例
cat的功能参数用法
案例
1.查看文本内容,以及功能参数
cat gushi.txt
2.对非空行显示行号
cat -b gushi.txt
3.对所有行显示行号
cat -n gushi.txt
4.在每行结尾加上$符
cat -n -E gushi.txt
5.减少空行数量,多个空行,减为1个
cat -s gushi.txt
cat命令合并多个文件
合并多个文件内容,写入到新的文件中
cat douyin.txtgushi.txt >./抖音和古诗的文本内容.txt
cat非交互式的写入文件内容信息
cat >> 路飞.txt << EOF
>哈咯你好alex
>我是你的好学生
>EOF
cat清空文件的用法
1.直接清空文件,留下一个空行
echo > gushi.txt
2.直接清空文件,不留空行
> gushi.txt
3.利用cat读取一个黑洞文件,然后清空其他文件
cat /dev/null > douyin.txt #/dev/null #空设备,黑洞文件
重定向符号
符号 | 解释 |
---|---|
重定向的意思是,“将数据传到其他地方” | |
> | 输出覆盖重定向 |
>> | 输出追加重定向 |
<或<< | 标准输入重定向 |
案例
cat的功能参数用法
1.读取文件内容,且写入到另一个文件中,覆盖写入文件内容
cat douyin.txt > kuaishou.tex
2.追加写入文件内容
cat douyin.txt >> kuaishou.txt
3.重定向写入符
cat < douyin.txt
将文本内容拆分成多行
xargs命令
xargs -n 4 < 数字.txt #把文本内容拆多行
4.重定向追加写入符 <<
可以结合cat命令使用
cat >> gushi.txt <<EOF
>床前明月光
>地上鞋两双
>举头望明月
>低头思故乡
>EOF
5.减少空行数量,多个空行,减为一个
cat -s gushi.txt
cat命令合并多个文件
合并多个文件内容,写入到新的文件中
cat douyin.txt gushi.txt > ./抖音和古诗的文本内容.txt
cat 非交互式的写入问价内容信息
cat >> 路飞.txt <<EOF
>halo你好alex
>我是你的好学生
>EOF
cat清空文件的用法
1.直接清空文件,留下了一个空行
echo > gushi.txt
2.直接清空文件内容,不留空行
>gushi.txt
3.利用cat读取一个黑洞文件,然后清空其他文本
tac
与cat命令查看问价结果相反
逆序输出
管道符
用法
1.对字符串进行二次过滤
查看文本内容,且对内容进行二次过滤 找到含有字符串know me的文本
cat gushi.txt | grep "know me"
grep
过滤字符串信息的命令
more and less
分屏查看文本内容命令
语法
more 文件名 #分屏显示文件内容
按下enter回车是下一行
空格是向下滚动一个屏大小
=显示当前行号
按下q 是退出more
head and tail
head命令用于查看文件开头的n行
语法
head -5 文件名
head 文件名 #head默认显示10行
-c 参数, 指定字符数量,显示字符数
head -c 5 文件名 #输出这个文件中的5个字符
tail默认从后向前看10行,也可以指定行数
tail 文件名 #显示默认后10行
tail -2 文件名 #显示后2行
-f 实时刷新文件内容变化
-F 不断的打开文件
cut
cut -在文件的每一行中提取片断
在每个文件FILE的各行中,把提取的片断显示在标准输出。
语法 cut【参数】【数值区间】交件 -b 以字节为单位分刚割 -n 取清分割多字节字符,与-b—起用 -a 以字符为单位 -d
自定义分隔符,默认以tab为分羁符 -f -d—起使用,指定显示哪个区域 N 第N个字节,字符或字段,从1计数起 N- 从第N个字节,字符或字段直至行尾 N-M 从第N到第N《并包括第M)个字节,宁符或字段 -M 从第1到第N《并包活第H)个中节,字符或字段
案例
1.战取每一行的第4个字符
cut -c 4 alex.txt
2.截取4到6个宇符
cut -c 4-6 alex.txt
3 .截聘和7的字符
cut -c 5,7 alex.txt
4.截取一个范围的字符,如第四个到结尾
cut -c 4- alex.txt
5.截取一个范围的字符,如开头到第六个字符
cut -c -6 alex.txt
6.指定分隔符号,进行截取
cut -d ":" -f 区域范围 alex.txt
找出第三个区域的内容
cut -d ":" -f 3 alex.txt
找出开头到第三个区域的内容
cut -d ":" -f -3 alex.txt
sort
sort命令将输入的文件内容按照规则排序,然后输出结果
用法: sort [选项]... [文件]...
或: sort [选项]... --filea7-from=F
串联排序所有指定文件并将结果写到标准输出。
-b, --ignore-1eading-blanks 忽略前导的空白区域
-n, --numeric-sort 根据字符串数值比较
-r, --reverse 逆序输出排序结果
-u, --unigjue 去重排序 配合-c,严格校验排序;不配合-c,则只输出—次排序结果
-t, --fie1d-separator=分隔微 使用指定的分隔符代替非空格到空格的转换
-k, --key=位置1[,位置2 ] 在位置1开始—个key,在位置2终止日(默认为行尾)
案例
1.对文件第一个宇符进行排序,认从小到大
sort -n file .txt
2.对排序结果反转,从大到小排序
sort -n -r file.txt
3.对排序结果去重
sort -u file.txt
4.指定分割符号,指定区域进行排序,从小到大排序
sort -n -t "." -k 4 ip.txt
uniq
uniq命令可以输出或者忍略文件中的重复行,常与sort排序结合使用
用法: uniq 「选项]... 「文件]
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
不附加任何选项时匹配行将在百次出现处被合并。
-c, --count
在每行前加上表示相应行目出现次数的前缀编号
-d, --repeatcd
只输出重复的行
-u, --unique 只显示出现过一次的行,注意了,uniq的只出现过一次,是针对-c统计之后的结果
案例
1.去除连续的重复行
uniq luffy.txt
2.结合sort使用,去重更精准
sort -n luffy.txt |uniq
3.统计每一行重复次数
sort -n luffy.txt |uniq -c
4.只找出文件中重复行,且统计出现次数
sort -n luffy.txt |uniq -d -c
5.找出只出现过一次的行
sort -n luffy.txt | uniq -c -u
wc
wc命令用于统计文件的行数、单词、字节数
-c --bytes 打印字节数
-m --chars 打印字符数
-l --lines 打印行数
-L --max-line-length 打印最长行的长度
-w --words 打印单词数
案例
1.统计文件的行数
wc -l luffy.txt
16 luffy.txt
screen
通过SSH远程登录到 Linux 服务器,运行耗时较长的程序,推荐使用screen命令:
- screen -S name :启动一个名字为name的screen
- screen -S name -X quit :删除某个session
- screen -ls :列出所有的screen
- screen -r name或者id:重新连接回到某个screen
- ctrl + a + d :暂时断开当前screen会话
- ctrl + a + c :screen 在该会话内生成一个新的窗口并切换到该窗口 screen -wipe :清理已经关闭的窗口
使用Ctrl a +k 杀死当前窗口和窗口中运行的程序
tar
压缩文件非打包
-c 打包
-z 压缩
# touch a.c
# tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz
a.c
解压文件
# tar -xzvf test.tar.gz
a.c
安装软件有问题
sudo apt-get install aptitude sudo aptitude install
ubuntu换源
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
- Ubuntu 20.04 Linux更换源教程
- Ubuntu换源后,更新提示GPG error缺少公钥
W: GPG error: http://mirrors.aliyun.com trusty-security InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://mirrors.aliyun.com trusty-updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://mirrors.aliyun.com trusty-proposed InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://mirrors.aliyun.com trusty-backports InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
W: GPG error: http://mirrors.aliyun.com trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
** Solution**
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
安装netstat
apt install net-tools
查看端口占用
netstat -tunlp
java环境配置
echo $JAVA_HOME
export JAVA_HOME=
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
1、查看Linux环境自带JDK 使用命令:# rpm -qa|grep gcj
显示内容其中包含相应信息
java-x.x.x-gcj-compat-x.x.x.x-xxjpp
java-x.x.x-gcj-compat-devel-x.x.x.x-xxjpp
2、卸载
rpm -e --nodeps java-x.x.x-gcj-compat-x.x.x.x-xxjpp
rpm -e --nodeps java-x.x.x-gcj-compat-devel-x.x.x.x-xxjpp
3、卸载rpm版的jdk:
使用命令:#r pm -qa|grep jdk
显示:jdk-x.x.x_xx-fcs
卸载:#rpm -e --nodeps jdk-x.x.x_xx-fcs
4、下载jdk
打开网站http://www.oracle.com/technetwork/java/javase/downloads,选择对应版本JDK,点击下载
5、在usr目录下创建java安装目录
cd /usr
mkdir java
6、将下载好的JDK文件copy到/usr/java目录
cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/
7、解压到当前目录
tar -zxvf jdk-8u60-linux-x64.tar.gz
得到文件夹 jdk1.8.0_60
8、编辑配置文件,配置环境变更
vim /etc/profile
添加如下内容:
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH= P A T H : PATH: PATH:JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
9、重启机器或者执行命令:source /etc/profile
重启命令:sudo shutdown -r now
10、查看安装情况
java -version
javac -version
java version “1.8.0_60”
Java™ SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot™ Client VM (build 25.60-b23, mixed mode)
pip换源
-i https://pypi.tuna.tsinghua.edu.cn/simple
vim /etc/profile
~/.bash_profile # 这个是用户环境变量配置文件
/etc/profile # 系统环境变量配置文件
source /etc/profile
配置环境python
vim /etc/profile
#配置python
export PYTHON_HOME=/root/training/Python-3.6.5 #后面是python的安装路径
export PATH=$PYTHON_HOME/bin:$PATH
https://github.com/liuqianpan2008/WhoUndercover
机器人
/perm permit u* :
/perm permit u* console:*
硬盘fat32转ntfs
convert E:/fs:ntfs
修复硬盘部分文件删除不了
在想要修复的磁盘中cmd
CHKDSK /F