Linux常用命令

Linux命令

1.放大缩小

Ctrl+shift+ +
Ctrl+ -

2.常用命令

查看文件列表 ls
查看当前目录 pwd
进入目录 cd 目录(区分大小写)
创建文件 touch 文件名 touch 123.txt
创建文件夹 mkdir 目录名称
删除文件 rm 文件名
清屏 clear

3.命令格式

命令 【选项】【参数】
删除目录 rm -r aaa

4.帮助信息

–help

ls --help

man

man ls
q 退出
空格  下一页
回车  下一行
b  上一页
f  下一页

5.文件和目录常用命令

两虚按两次tab键可以列出以某字符开头的列表

ctrl+alt切换虚拟机和物理机光标
隐藏文件:以点开头的文件是隐藏文件,包括文件夹和文件
.点代表当前目录
..点点代表上一级目录

查看目录

ls -a 查看隐藏文件
ls -l 以列表形式展示
d表示目录
-代表文件
ls-h 显示文件大小,必须配合-l一起使用
ls的通配符
*代表任意个数个字符 ls 1*.txt  ls *1.txt  ls  1?1.txt
?代表任意一个字符
[]匹配数组中的任意一个  ls [12345]23.txt 
[abc]匹配abc中的任意一个
[a-f]匹配a-f范围内的任意一个

切换目录

cd ~ 直接跳到用户的家目录
cd  直接跳到用户的家目录
cd .
cd ..
cd - 在最近的两次工作目录中切换

创建和删除

touch如果创建的文件已经从在,会修改文件的修改日期,对内容不会影		   响
mkdir -p ./aa/bb/cc  递归创建多级目录
linux中文件和目录在同一目录下不允许重名,文件名和文件夹名称重复也不行
rm命令会直接从磁盘上删除,无法恢复
rm -r 递归删除多级文件
rm -f 强制删除文件,无提示信息
rm *1.txt

拷贝和移动
tree 【目录】以树状图的形式展示目录结构,在centos中如果不能使用tree命令,先安装sudo yum install tree

tree 
tree ~
tree -d 只显示文件夹

cp 源文件 目标文件

cp  ~/Documentss/readme.txt ~/Desktop/aa.txt
cp  ~/Documentss/readme.txt  . 把readme.txt复制到当前目录,名字还是			readme.txt 
cp -i 如果文件存在,则提示 y覆盖  n取消
cp -r 递归复制目录

mv 源文件 目标文件

mv test  ~/aaa
mv a/b/c123.txt  .
mv aa.txt bbb.txt  重命名(bbb.txt原先不存在)
mv aa.txt bbb.txt  aa覆盖bbb(bbb.txt原先就存在)
mv -i aa.txt bbb.txt  覆盖的时候会提示(bbb.txt原先就存在)
mv aa demo 重命名文件夹(demo原先不存在)
mv aa bb 把aa移动到了bb里面 

查看文件内容
cat 文件名

cat 11.txt 一次性展示所有的内容
cat -b 11.txt  会显示有数据行的行号,空行不包括
cat -n 11.txt  会显示所有行的行号,包括空行

more 文件名

more 11.txt 分屏显示 b f 空格 回车 q

grep 关键字 文件名

grep -n 显示行号
grep -v 显示不包含目标字符的内容
grep -i 忽略大小写
grep aaa 11.txt
grep -n aaa 11.txt
grep -vn aaa 11.txt
grep -ni aaa 11.txt
模式查找
^a a必须在行首
ke$ ke必须在行尾
grep -ni ^f 11.txt
grep -ni aa& 11.txt

重定向和管道
echo 关键字

echo hello  hello就会在命令行中打印一边 有点像java里的输出语句,通常和重	定向配合使用

重定向> 和 >> 将本应该在终端中显示的内容输出或追加到文件中,主要目的保存终端信息

>  表示输出到文件,会覆盖文件中原有的所有内容
>> 表示追加,会将内容追加到源文件的末尾
echo hello > a  会在当前路径下生产一个名叫a的文件,里面的内容是hello,注意	a没有后缀,但它是一个文件
ls - lh > a  会把ls -lh在终端中展示的内容写入到a文件中
ls -lh >> a  追加
tree >> a

管道 | 主要作用是把一个命令的输出结果作为另一个命令的输入

ls -lh  ~  |  more  将用户家目录下的内容分屏显示,即将ls -lh命令的结果通过	管道传递给more进行分屏显示
ls -lh ~    |  grep  -n Do

6.远程管理常用命令

关机重启

shutdown 选项 时间
shutdown 一分钟后关闭 shutdown -c 在一分钟之内取消关机操作
shutdown -r 重启
shutdown -r now  立刻重启
shutdown 20:25 今日20点25关机
shutdown +10 10分钟后关机
不指定选项和参数,系统默认1分钟后关闭电脑

查看或配置网卡信息

ifconfig  查看网卡配置信息
ifconfig | grep inet
ping ip地址 测试到目标ip地址连接是否正常
ping 127.0.0.1 测试本地网卡是否正常
ping www.baidu.com

远程登陆和复制文件

ssh会对数据加密和压缩
ssh默认端口是22
ssh [-p port] user@remote/域名
ssh 用户名@ip   
linux中可以直接使用ssh连接,但是windows需要安装ssh客户端软件 Putty、XShell	等
Putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
XShell https://www.xshellcn.com/
linux系统中可以直接使用scp
scp的地址格式和ssh地址格式一样,但是指定端口时需要使用大写的-P
scp 用户名@ip:源文件  用户名@ip:目标文件
scp -P port 11.txt user@remote:Desktop/22.txt  这里会默认找用户家目录下的Desktop	文件夹
scp -P port user@remote:Desktop/22.txt 33.txt 把远程文件复制到本地当前目录下的	33.txt
scp -r 复制目录
scp -P 22 root@192.168.11.11:Desktop/01.txt .  把远程文件复制到当前目录下
scp -P 22 01.txt  root@192.168.11.11:Desktop/ 文件如果存在则覆盖
scp -p 22 -r root@192.168.11.11:Desktop/  demo
如果时windows系统,则在putty中需要使用pscp,但是一般情况下windows系统都会	使用fileZilla工具进行文件传输
fileZilla https://www.filezilla.cn/download/client 
fileZilla端口为21

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:
fizilla连接不上linux
在这里插入图片描述

百度的解决办法:
1.防火墙的问题,由于我的防火墙日常关闭,所有跟这个没关系
2.建立新站点,采用 stfp + 端口 22 的方式
FIlezilla -> 文件 -> 新站点 -> STFP 协议 -> 连接

在这里插入图片描述
exit可以退出远程连接

7.用户权限相关命令

基本概念

文件目录的权限
读   read     r      4
写   write    w      2
执行 execute  x      1

组:可以给整个组统一设置权限
在这里插入图片描述

硬连接数

文件夹的硬链接数是2,因为可以通过绝对路径进入,还可以用点来访问
如果有1个子文件夹,则硬连接数为3只有子文件夹有影响,子文件夹下的文件夹不影	响

chmod修改权限

chmod +/-rwx 文件名|目录名
chmod +x 11.java
chmod -xwr 11.java
以上命令会同时修改文件拥有者和组的权限
chmod -x test 去掉文件夹的可执行权限,此时cd test会没有权限
chmod -rw aa 去掉文件夹的读写权限,cd aa能进入,但是ls无法执行touch命令无法	执行
root是超级用户,对所有文件具有访问权限
当其他用户需要执行和系统管理相关的命令时,需要以root用户的身份执行,这时可	以使用sudo这个命令

sudo

8.组管理相关命令(需要使用sudo)

groupadd 组名 添加组
groupdel 组名 删除组
cat/etc/group 确认组信息
chgrp -R组名 文件/目录 修改文件目录所属组
etc目录是专门用来保存系统配置信息的目录

mkdir aa中国
sudo groupadd dev
cat /etc/group
sudo chgrp -R dev ./aa 

9.用户管理相关命令

useradd -m -g 组名 新建用户名

-m 自动创建用户的家目录
-g  指定用户所在的组,如果不指定会自动创建和用户同名的组

passwd 用户名

sudo useradd -m -g dev zhangsan
sudo passwd zhangsan 

userdel -r 用户名

-r 会自动删除用户的家目录
sudo userdel -r zhangsan

cat /etc/passwd|grep 用户名
提示

如果添加用户时忘记-m指定用户的家目录,建议删除重建
创建用户时会创建一个和用户同名的组
用户信息保存在/etc/passwd文件中

10.查看用户信息的相关命令

id [用户名]

查看用户的uid和gid信息
id zhangsan
用户代号保存在etc/passwd  cat -n /etc/passwd | grep xlq
xlq:x:1000:1000:xlq:/home/xlq:/bin/bash
用户名:密码(x表示加密):用户代号:组代号:全名:家目录:登陆使用的shell
组代号保存在etc/group      cat/etc/group

who

查看当前所有登陆的用户列表
who 查看正在登陆系统的用户

whoami

查看当前登录的账户名

usermod -G 附加组 用户名

usermod -g 主组 用户名
usermod -s /bin/bash 硅钙用户登陆的shell
shell就是可以输入终端命令的软件,默认时dash
可以设置用户的主组和附加组
sudo userod -G sudo zhangsan 

which 查看命令的位置

which ls
which useradd
/bin目录下时应用的可执行文件
/sbin目录下时系统相关的可执行文件
/usr/bin是后期安装的可执行文件
/usr/sbin 是超级用户管理系统的可执行文件

切换用户

su -用户名 带-可以切换到对应用户的家目录,不带-不会切换目录
如果切换root用户,可以省略用户名 su -
exit 退出当前用户,也可以退回到切换前的用户

修改文件权限

chown   修改拥有者
chown 用户名 文件名|目录   把某个文件的所有权进行修改
chgrp	修改组				把某个文件的所在组进行修改
chgrp -R 组名 文件名|目录
-R 递归修改文件子目录
chmod   简单修改
chmod -R  755 文件名|目录
r  4
w  2
x   1

11.进程信息相关的终端命令

ps aux process status 查看进程详情,注意auc前没有-

-a 显示终端上的所有进程,包括其他用户的进程
-u 显示进程的详细信息
-x 显示没有控制终端的进程
top 动态显示运行中的进程并且排序,会将cpu、内存占用高的排在前面

退出按q

kill [-9] 进程号 终止指定进程,-9表示强制终止

kill -9 2587

12.查找、打包、软链接、软件安装

find

find [路径] -name “*.java” 不指定路径在当前目录下查找
find Desktop/ -name “*1*”
find -name “*.txt”
find -name “1*”

ln

软连接就相当于快捷方式
ln -s 文件绝对路径 名称
ln -s /home/txl/Desktop/demo/b/c/11.txt  11_juedui
如果使用相对目录创建软连接,但软链接位置发生变化时将找不到目标文件
文件的硬链接:如果创建软链接的时候不带-s,则创建的时硬链接
ln /home/xyq/Desktop/b/c/11.txt  11_hard
rm /home/xyq/Desktop/b/c/11.txt
cat /home/xyq/Desktop/qq_hard  发现能访问,内容就是原先11.txt中的内容
硬连接时直接指向磁盘中的数据
linux中文件名和文件数据时分开存储的

tar

tar这个命令只负责打包但不负责压缩
tar -cvf 名称.tar 路径	  打包
tar -xvf 名称.tar -C路径    解包
tar -cvf  py.tar 01.py 02.py 03.py
tar -xvf  py.tar

gzip

gzip对tar包压缩后,生产文件的扩展名为.tar.gz
打包的同时就想压缩,可以在tar命令后面加上-z的选项,这样就会自动调用gzip进行	压缩了
tar -zcvf 名称.tar.gz  ./a/b/*.py		打包压缩
tar -zxvf 名称.tar.gz -C路径       解压缩

bzip2

使用bzip2压缩的文件后缀为.tar.bz2
如果使用tar打包时加入-j则表示调用bzip2进行压缩
tar -jcvf 名称.tar.bz2 文件路径		压缩
tar -jxcf 名称.tar.bz2  -C 路径		解压缩
-C 后面的目录必须存在,否则不能正常解压缩

apt

安装软件
sudo apt install 软件包
sudo apt install sl  可以看到小火车
sudo apt install htop  优化top命令,界面更好看
卸载软件
sudo apt remove 软件包
跟新软件
sudo apt upgrade 升级所有软件包
在centos中使用yum
yum -y install epel-release
yum -y install sl 就可以看到小火车
yum -y install htop 更好看的进程界面,按q退出

13.Vi、vim

vi和vim

vim是vi的增强,具有强大功能的文本编辑器,目前发行版本的linux使用的就是vim

打开和新建文件

vi 文件名 如果文件存在则打开,如果不存在则新建
vi 11.java

打开文件时定位到具体行

vi 文件名 +行数
vi hello.java +20
vi 文件名  光标定位到文件开头
vi 文件名 +  光标定位到文件的末尾
vi 文件名 +行数  光标定位到具体的行

异常处理

如果使用vi异常退出,在磁盘上可能会保存交换文件,下次使用vi时会看到下屏信息,可以直接按字幕d删除
在这里插入图片描述

在这里插入图片描述

三种工作模式

1.命令模式
打开文件时进入的就是命令模式:定位、翻页、复制、粘贴、删除都可以在命令模式下实现
2.末行模式:执行保存退出等操作
命令模式下输入冒号:切换到末行模式
末行模式下按esc键切换到命令模式
w:write保存写入
q: quit 退出
wq: 保存并退出
  
3.编辑模式:正常的编辑文字
命令模式下输入字幕i就可以进入编辑模式
按esc键可以返回到命令模式

编辑文件

编辑模式和末行模式不能直接切换
如果文件被修改了,则不能通过q直接退出,如果想强制退出可以使用q!强制退出
如果末行模式下输入x命令,也是保存并且退出,即wq = x

vi常用命令

1.重复次数
在vi中,先输入一个数字,再跟上一个命令,可以让该命令重复执行指定的次数
2.光标的移动和选择
3.编辑操作:复制、粘贴、删除、替换、缩排
4.撤销和还原
5.查找和替换
6.编辑

移动光标

1.上下左右
h:向左
j:向下
k:向上
l:向右
2.行内移动
w:向前移动一个单词
b:向后移动一个单词
o(数字):行首
^:行首、第一个不是空白字符的位置
$:行位
3.行数移动
gg: go到文件顶部
G:	到文件末尾
数字gg:	移动到数字对应的行数
数字G:移动到数字对应的行数
:数字:移动到数对应的行数
4.屏幕移动
ctrl+b:向上翻页
ctrl+f:向下翻页
H:光标移动到屏幕顶部
M:光标移动到屏幕中间
L:光标移动到屏幕底部
5.移动
i段落移动
vi中使用空行来区分段落
{上一段
}下一段

ii括号切换
% 括号匹配及切换
按一下%,可以在所在行的开始括号和结束括号来回切换
6.标记
在编写过程中如果某一行的代码暂时不好确定需要稍后处理,那么可以在这一行打一个标记,之后快速回到这一行即可
在vi中我们使用m命令标记,后面可以跟a-z或A-Z之间的任意一个字母作为标记符
如:mx 这样我在完成其他操作后就可以使用‘x快速回到标记行,注意单引号不能少
7.选中文本(可是模式)
可以使用字幕v切换到可视模式,vi提供了三种可视模式
按esc可以放弃选中,回到命令模式
v:可视模式-在可数模式下上下移动光标会选中所在的行
V:可视行模式-只能整行整行的选中,不能只选择开始行或结束行的某一段
Ctrl+v:可视块模式-该模式我们可以安装某一列来选中,如只行选中每一行的第三列
在可视模式下可以使用移动命令快速选择文本
8.撤销和恢复撤销
u: undo 撤销上次命令
ctrl+r:redo 恢复撤销的命令
9.删除文本
x:删除选中的字符
5x删除操作执行5次,如果print这个单词p被光标选中,则执行完5x后整个单词被删除
dd:删除光标所在行
5dd连续删除5行
d:配合移动命令一起使用,删除光标所在位置到移动命令对应的所有内容
dw删除一个单词
d0(数字)从光标位置删除到一行的起始位置
d}:删除光标所在位置到段落结尾的内容
d10G:从光标位置删除到第10行之间的所有内容
d’a:从光标位置删除到标记a之间的所有代码
D:从光标开始删除至行尾
10.复制和粘贴
y:配合移动命令一起使用,和删除命令d类似
yy:复制一行
5yy:连续赋值5行
p:粘贴
y}:复制段落

在linux中,删除的内容也会放缓冲区中,所以,删除的内容我们同样可以使用p来粘贴,其实删除就像我们windows系统的剪贴
在其他地方使用ctrl+c复制的内容不能通过ctrl+v来粘贴,因为vim使用的是缓冲区而不是系统剪贴板,所以,要粘贴其他地方复制的内容,可以在编辑模式下鼠标右键粘贴
11.替换
r:只替换当前光标所在位置的字符,要替换下一个字符还需要在按一下r命令
R:从当前光标所在位置一直往后替换
12.缩排和重复执行
>>:向右增加缩进
<<:向左减少缩进
.:一个点就是把前面执行的命令在重复执行一遍
在可视模式下用一个</>可以完成缩进,可以选中整体移动
13.查找
/str :查找str
n:查找下一个
N:查找上一个
如果不想看到高亮,就可以随便查找一个文件中不存在的内容即可
单词快速匹配;
*:向后查找当前光标所在的单词
#:向前查找当前光标所在的单词
14.查找并替换
在vi中查找和替换需要在末行模式下执行
记忆命令格式:
:%s///g
全局替换:一次性替换所有目标文本
:%s/目标文本/新文本/g
可视区域替换:先选中要替换的范围
:s/目标文本/新文本/g
确认替换:
:%s/目标文本/新文本/gc
y:替换
n:不替换
a:替换所有
q:退出替换
l:替换最后一个,把光标移动到行首
ctrl+e:向下滚屛
ctrl+y:向上滚屏
15.插入命令,vi中下面命令都可以进入编辑模式
i:在当前字符前插入文本
I:在行首插入文本
a:在当前字符后添加文本
A:在行末添加文本
o:在当前行后面插入一个空行
O:在当前行前面插入一个空行

在这里插入图片描述

在编辑文本前如果按了数字则编辑命令会重复执行相应的次数
如在命令模式下按了数字8,然后在按i进入编辑模式编辑helloworld,按esc回到命令模式后会发现helloworld被连续执行了8次,如果按点,可以把上面的命令在执行一遍,即有输出8个helloword
练习:利用可视模式给多行代码加注释
选中多行代码,在可视化模式下小i无法进入编辑模式,需要按大写I才能进入可视化模式,进入之后然后在选中的第一行前面加上//,然后按esc返回到命令模式,会发现刚才选中的代码前面全部加了//
14.分屏命令
末行命令扩展

末行命令主要是针对文件进行操作的,保存、退出、搜索替换、另存、新建、浏览文件
:e 文件名/. :打开内置文件浏览器,浏览当前目录下的文件,选中文件按回车会进入此文件的vi界面
:n 文件名:新建文件 
:w 文件名:另存为

分屏

:sp[文件名]/.:横向增加分屏
:vsp[文件名]/.:纵向增加分屏
ctrl+w :按了此快捷键之后可以按下面命令操作分屏窗口
每次操作都先要按ctrl+w
w:切换到下一个窗口
r:互换窗口
c:关闭当前窗口,但是不能关闭最后一个窗口
q:退出当前窗口
o:关闭其他窗口
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值