掌握Linux基础命令:入门到实践

本文最后更新于:1 年前

心灵是一片广袤的田野,播种善良与希望,便能收获幸福与喜悦。

导言

  • Linux 是一种开源操作系统,它提供了丰富的命令行工具来管理和操作系统
  • 本文将快速介绍一些常用的 Linux 命令
  • Linux 命令在线速查手册:Linux 命令在线速查手册(2023/11/11 早)

Linux 系统下 Node.js 的安装步骤_linux 安装 node.js-CSDN 博客

FinalShell 官网 (hostbuf.com)

正文

一次性学会 68 个常用命令

1
ls -l -a
1
cd /  cd /root    cd /home/memory
1
pwd
1
touch atext btext c
1
cat sb.txt
1
echo 哈哈哈	echo how are you > sb.txt
1
nano sb.txt
1
vim sb.txt
1
shred 慎用,转换文本为乱码,但是操作菜单都成乱码了,只能重启
1
mkdir newdic
1
cp atext newdic atext2
1
mv btext c newdic/
1
rm dfsfff
1
rmdir newdir/
1
rm -R newdir/  递归删除目录

image-20231004142717334

1
ln -s ../sb.txt sb3.txt

image-20231004143207735

1
clear
1
whoami
1
useradd tom
1
adduser mike
1
sudo useradd tom
1
su root		su tom
1
sudo passwd nick
1
whatis pwd		后面加个命令,他会告诉你这个命令是干啥用的

image-20231004145302771

1
which pwd
1
whereis pwd

image-20231004145241428

1
wget
1
curl
1
zip xxx.zip  myapp		压缩
1
unzip xxx.zip 		解压
1
cat less head tail
1
cmp c.txt sb.txt		比较两文件是否相同
1
diff c.txt sb.txt		更详细的比较

image-20231004145843352

1
cat sb.txt | sort		排序显示文本

image-20231004150036403

1
find / -name "a"   sudo find / -name "a"		按文件名查找,指定目录
1
find -name "a"		默认当前目录下
1
find -name "a*"	   find -name "*a"		通配符 以a为开头 / 以a为结尾
1
chmod +x c.txt    修改权限
1
chown	修改所有权
1
ll  查看详细信息,包括文件所有权
1
ifconfig
1
ip address

image-20231004152429614

image-20231004152435529

image-20231004152707721

1
ping www.baidu.com
1
ping -c 5 -s 20 www.baidu.com		指定发送数据包数量、大小

image-20231004153027133

1
netstat			查看端口占用情况
1
netstat -tulpn

image-20231004154307867

1
ss
1
ss -tulpn
1
sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT		开放指定端口
1
sudo ufw allow 80		sudo ufw status      sudo ufw enable
1
uname		查看系统信息
1
uname -a	系统详细信息

image-20231004154914080

1
neofetch		需要安装
1
cal		日历

image-20231004155130230

1
echo "1+2+3+4+5" | bc		计算

image-20231004155223354

1
free		内存空间占用情况

image-20231004155301145

1
df		df -H

image-20231004155406561

1
ps		进程管理
1
ps -aux		更详细的进程信息

image-20231004155505958

image-20231004155522343

1
top			任务管理
1
htop 	需安装

image-20231004155713184

1
kill 		根据pid杀掉进程

image-20231004155927003

1
systemctl start / stop / status / enable

image-20231004160043296

1
history		历史输入命令
1
sudo shutdown		sudo shutdown -h now		关机

命令

通用格式

1
command [-options] [parameter]
1
2
3
command : 命令本身
-options : 选项[可选]
parameter : 参数[可选]

目录操作命令

  • ls - 列出目录
1
ls [-a -l -h] [Linux路径]
1
2
3
-a : 列出全部文件, 包含隐藏的文件/文件夹
-l : 纵向形式排列信息
-h : 列出文件大小, 与-l配合使用
  • cd - 切换工作目录 (Change Directory)
1
cd [Linux路径]
1
cd   回到用户的HOME目录 /home/memory
1
cd / 回到根目录 /
1
2
3
4
注:  / 表示根目录
~/ 表示 /home/memory
./ 表示当前目录
../ 表示上一级目录
  • pwd - 查看当前工作目录 (Print Work Directory)
1
pwd 无选项 无参数
  • mkdir - 创建目录 (Make Directory)
1
mkdir [-p] Linux路径
1
2
-p : 选填, 可创建多级目录
Linux路径 : 必填

文件操作命令

  • touch - 创建文件
1
touch Linux路径
1
无选项 参数必填
  • cat - 查看文件内容
1
cat Linux路径
1
无选项 参数必填
  • more - 查看文件内容 (可翻页查看, 空格翻页, q 退出)
1
more Linux路径
1
无选项 参数必填
  • cp - 复制文件/文件夹 (copy)
1
cp [-r] 参数一 参数二
1
2
3
-r : 可选, 复制文件夹时使用
参数一 : Linux路径, 表示被复制的文件或文件夹
参数二 : Linux路径, 表示要复制去的地方
  • rm - 删除文件/文件夹 (remove)
1
rm [-r -f] 参数一 参数二 ......
1
2
3
-r : 删除文件夹时使用
-f : 强制删除 (force)
参数 : 要删除的文件/文件夹路径
  • mv - 移动文件/文件夹 (move)
1
move 参数一 参数二
1
2
参数一 : Linux路径, 表示被移动的文件或文件夹
参数二 : Linux路径, 表示移动去的地方,

归档管理

tar 命令

  • gzip 格式压缩文件
1
tar -zcvf test.tar.gz /root/test
1
2
3
4
-c: 创建文件
-v: 显示执行过程
-z: 用gzip压缩
-f: 压缩的包名,必须放到所有选项后面
  • 查看压缩文件
1
tar -tf test.tar.gz
1
-t: 显示归档文件中的文件列表,后面紧跟-f
  • 解压文件
1
2
tar -xzvf test.tar.gz
tar -xzvf test.tar.gz -C /home/
1
2
-x: 解压,不能与-c同时出现
-C: 解压到指定目录
  • 排除不需要压缩的文件
1
2
3
4
# 排除某个文件
tar -zcvf test.tar.gz --exclude=test.sh test
# 排除某个目录
tar -zcvf test.tar.gz --exclude=bak test

zip 命令

  • 压缩文件
1
zip -r test.zip /root/test
1
-r: 递归处理,把目录和文件一起处理,显示压缩过程
  • 更新压缩包文件
1
2
# 从压缩包中删除指定文件,如果指定文件不存在,不做任何改动
zip -d test.zip a.txt

unzip 命令

  • 查看压缩包内文件
1
unzip -l test.zip
1
-l: 可清晰地看到zip文件内的详细信息
  • 查看有无文件
1
unzip -t test.zip
1
-t: 显示OK则说明无损坏
  • 解压文件
1
unzip test.zip
  • 解压到特定目录
1
2
unzip test.zip -d test
unzip -d test test.zip

学习

2024 年 5 月 16 日

最近学习操作系统:[11 高级技巧之日志分析:利用 Linux 指令分析 Web 日志 (lianglianglee.com)](https://learn.lianglianglee.com/专栏/重学操作系统-完/11 高级技巧之日志分析:利用 Linux 指令分析 Web 日志.md)

image-20240516113705582

我在使用 yum 安装 htop,看看安装完成后的使用效果吧

执行以下命令,效果还不错:

1
sudo yum install htop
1
htop

image-20240516113918242

本机安装虚拟机

2024 年 5 月 28 日

初始化

下载安装 VM Ware:

下载安装 Ubuntu 镜像:Ubuntu Releases

image-20240528100447611

更改分辨率,下载语言包,更改时区等

image-20240528103406006

Ctrl + Alt + t,打开终端,使用 apt 包管理器尝试安装 Docker:

1
lisudo apt install docker.io
1
docker -v
1
sudo docker run hello-world

image-20240528104339617

远程连接

1
ifconfig

win + ip,也可以直接查看 IP 地址

image-20240528104718587

检查一下本机(windows 操作系统)能不能 ping 通 虚拟机:

image-20240528104904570

安装 ssh 远程连接服务:

1
sudo apt-get install openssh-server
1
ps -ef | grep ssh

image-20240528105309108

当然,如果服务没有正常启动,启动就可以:

1
sudo ssh run

更新软件包:

1
sudo apt update

安装 Java 8 环境:

1
sudo apt install openjdk-8-jdk

查看是否安装成功:

1
java -version

image-20240528105540192

首先配置文件同步:

image-20240529094857586

输入指定连接的 Linux 服务器主机名、用户名和密码,成功连接。

image-20240529100151507

这样就能看到 linux 服务器上的目录了:

没有这个右侧边栏,可以选择在菜单栏里找到并选择显示:

image-20240529100552713

远程连接配置完毕,我们需要实现把 window 上的文件,自动同步到 linux 虚拟机的文件目录中。

文件同步

指定要将本机的哪个目录下的文件,同步到 linux 的哪个目录下:

image-20240529101215081

同步部署文件到 linux 虚拟机上:

image-20240529101522319

这里会显示出未同步的文件,可以挨个检查同步,也可以一键同步所有文件:

image-20240529101416092

同步完成,查看下 linux 虚拟机中的文件:

image-20240529101857983

可以看到所有代码文件已经同步完成,还可以开启自动同步,无需手动操作:

image-20240529101802814

那我们在项目根路径下新建文件 hello.txt,填写文件内容后保存。

image-20240529102128675

直接就能在 linux 虚拟机中看到文件已经自动同步过来了:

image-20240529102107829

在 options 下还有很多可以修改的设置,比如删除本地文件是是否需要同步删除远程,而不用给提示:

image-20240529102253345

image-20240529102312930

项目启动

在 IDEA 中找到 linux 虚拟机对应终端窗口,直接输入命令,尝试在 linux 服务器中启动项目:

1
mvn spring-boot:run

image-20240529102807458

image-20240529102647088

可以看到虚拟机内正在下载拉取依赖包,等待项目启动中……

image-20240529102913875

No plugin found for prefix spring-boot in the current project and in the plugin groups 异常解决 - 小旭的 blog - 博客园 (cnblogs.com)

image-20240529103358169


掌握Linux基础命令:入门到实践
https://test.atomgit.net/blog/2023/03/22/掌握 Linux 基础命令:入门到实践/
作者
Memory
发布于
2023年3月22日
更新于
2023年5月28日
许可协议