0.Linux基础命令

终端打开:一个窗口打开第二个:Ctrl+Shift+t,不同串口打开:Ctrl+Alt+t

虚拟机Ubuntu安装参考:下载安装Ubuntu 20.04详细教程_ubuntu20.04下载-CSDN博客

文件和目录操作

参考:Linux命令大全(常用的命令解析)-CSDN博客

查看文件

  • 查看当前目录里面内容:ls
  • 查看当前目录里面内容(详细信息):ls -l
  • 查看当前目录里面内容(包括隐藏):ls -a
  • 查看系统加载哪些驱动:lsmod
  • 查看系统有哪些usb设备:lsusb

文件夹操作

  • 进入哪个文件夹(不知道有哪些需先查看):cd 文件夹名,连续进入:cd 文件夹名1/文件夹名2
  • 返回上一级:cd ..
  • 切换到系统根目录:cd /
  • 切换用户主目录::cd ~
  • 返回当前文件夹所在路径:pwd
  • 创建文件夹:mkdir 文件夹名

文件操作

  • 新建文件:touch 文件.后缀名
  • 删除文件:rm 文件.后缀名,删除文件夹中后缀名全部文件:rm *.后缀名
  • 删除文件夹:rm -R 文件夹名
  • 复制文件:cp 文件名.后缀名 路径
  • 移动文件:mv 文件名.后缀名 路径
  • 查看文件中内容:cat 文件名.后缀名

管理员

查看登录账户:who

-q或–count : 只显示用户的登录账号和登录用户的数量

-u或–heading : 显示列标题

管理员权限:sudo 操作

创建root用户:sudo passwd root,进入root用户:su root

切换用户:su 用户名

安装应用

查看IP:ifconfig

apt

参考:详解 Linux 中 apt 命令的使用_apt purge命令-CSDN博客

安装:sudo apt install <package_name>

使用 apt 更新包数据库:sudo apt update

使用 apt 升级已安装的软件包:sudo apt upgrade

换源

根据图示更改为国内镜像源,参考:ubuntu换源-CSDN博客

文本处理

vim

参考:linux常用命令:文本编辑_linux编辑文本-CSDN博客

安装:sudo apt install vim,创建一个.c文件:vim 文件名.c

当编辑文件完成后按 Esc 键即可返回命令模式

在命令模式状态下按:键,Vim 窗口的左下方出现一个:符号

wq:保存并退出,wq!:强制保存并推出,q:不保存退出,q!:不保存强制退出

set nu:文本编辑显示行号,/需要搜索的文本:搜索文本(n查看下一个,N查看上一个)

gedit:文本编辑器

压缩与解压

通用形式

tar [选项] [文件]

文件:指定要处理的文件或目录列表
选项:
-c: 创建一个新的归档文件。
-r: 向已存在的归档文件中添加文件。
-t: 列出归档文件的内容。
-u: 更新归档文件,即添加比归档文件中副本更新的文件。
-x: 从归档文件中提取文件。
-v: 在处理文件时显示详细信息。
-f: 指定归档文件的名称。
-z: 通过gzip进行压缩或解压缩。
-j: 通过bzip2进行压缩或解压缩。
-W: 确认归档文件的正确性

tar压缩:tar -cvf test.tar *.c

tar解压:tar -xvf test.tar

压缩/解压缩(zip/unzip)

压缩文件: zip [-r] 压缩文件名 被压缩的文件

解压缩文件:unzip 打包文件.zip -d 解压后的目录

查找

find:查找文件,sudo find /home/wfeng -name “*.c”

sudo find [起始目录] [表达式]

起始目录:find 命令开始搜索的目录
表达式:
-name:匹配文件名。
-type:匹配文件类型(例如,f 表示普通文件,d 表示目录)。
-size:根据文件大小匹配文件。
-mtime:根据文件最后修改时间匹配文件。
-exec:对匹配搜索条件的文件执行命令

grep:查找文件中的字符,grep “d” a.c

grep [选项] [搜索模式] [文件…]

[选项]:可选,用于定制grep的行为,例如是否忽略大小写(-i),是否显示行号(-n)等
[搜索模式]:想要搜索的文本或正则表达式。
[文件…]:要搜索的文件。如果省略文件名,grep会从标准输入读取数据

dmesg:系统内核打印,特定搜索:dmesg | grep usb

dmesg | grep [选项] “搜索字符串”

dmesg:用于获取内核消息
|:管道符,将 dmesg 的输出传递给 grep
grep:文本搜索命令
[选项]:可选参数,用于定制 grep 的行为,例如忽略大小写(-i),显示行号(-n)等
“搜索字符串”:要搜索的文本字符串

基础编译测试

安装gcc:sudo apt install gcc

编译 .c:gcc 文件名.c -o 生成文件名,再运行编译生成的可执行文件:./可执行文件名.后缀名

查看文件属性:file 文件名.后缀名,例:file mian.c

修改权限:sudo chmod 777 文件名.后缀名,例:sudo chmod 777 test.c

其他命令

  • 查看网络信息(IP地址等):ifconfig(Linux下ifconfig指令详解-CSDN博客)
  • echo:输出指定的字符串信息或显示变量的值的命令(Linux基础命令-echo输出信息_linuxecho怎么把字符串输在最顶端-CSDN博客)
  • 显示应用运行的进程:ps,显示系统全部进程:top(【Linux】ps和top进程管理命令_ps和top命令的区别-CSDN博客),退出:ctrl c/z
  • 杀死进程:kill -9 进程号
  • 发送信号到进程:kill(Linux kill 命令 | 菜鸟教程)
  • 关机:shutdown(默认一分钟后关),重启:reboot
  • 管道符号 | ,例:ls /usr/bin | grep ‘^au’
  • 查看系统监听端口:netstat [-anptu] ,例:netstat -anp |grep mysql
    • -a : 显示所有已打开的端口
    • -p : 显示对应的进程id
    • -n : 用数字显示对应的端口, 不用别名显示
    • -t : 显示所有tcp协议端口
    • -u : 显示所有udp协议端口
  • 查看系统监听端口:lsof -i,例:lsof -i:3306 列出使用端口3306的进程信息
  • 查看日志信息:head 文件名,默认显示日志文件有前10行内容
    • tail 文件名,默认显示日志文件最后10行内容,tail -f 文件名: 实时显示日志的文件信息

环境搭建

通过SSH,Windows可以连接到Linux,在MobaXterm中操作Linux

安装SSH:Linux sudo apt-get install openssh-server,Windows MobaXterm软件

MobaXterm连接Linux,按照图中填写IP,连接后输入Linux用户名以及密码

传文件

FTP

安装:sudo apt-get install vsftpd

sudo vim /etc/vsftpd.conf,找到 #write_enable=YES,把#删掉,然后Esc:wq、回车

重启FTP:sudo /etc/init.d/vsftpd restart

Windows安装:FileZilla软件,输入Linux的IP、用户名、密码 连接Linux的FTP

本地站点则为Windows的文件,远程站点则为Linux文件,双击Windows中的文件自动传到Linux,在Linux右键下载则传到Windows

Samba

Linux安装:运行以下命令

sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install samba samba-common
samba -V //如果出现下面版本号说明已经安装了samba服务器
sudo mkdir /home/share
sudo chmod 777 /home/用户名
sudo smbpasswd -a 用户名 //需要确认输入两个相同的密码确认
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak //备份 smb.conf 配置文件

修改文件:sudo vim /etc/samba/smb.conf,在最后添加下面的内容,里面名字(xinzai)要改成自己的

[global]

; 创建工作组 设定 Samba Server 所要加入的工作组或者域
workgroup = WORKGROUP

; 为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936
; display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

; 是否允许guest用户访问
guest ok = no

; 注:如果 #security 存在就直接修改,不存在就创建
; security = user

; 安全模式 我们设置用户安全级别
security = user

; 说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。
; 比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。
username map = /etc/Samba/smbusers

; 共享名,该共享标签,该名字为在电脑上看到的共享名 注意网络映射的路径是这标签名字不是共享路径的名字
[share]

; 该共享描述
comment = Shared Folder with username and password

; 共享文件夹路径
path = /home/xinzai/

; 表示是否允许匿名访问该共享目录
public = no

; 配置的Samba访问账号 指明可以访问的用户
valid users = xinzai

; 表示是否可以在 Window Explorer中显示该目录
browsable = no

; 指明新建立的文件的属性
create mask = 777

; 指明新建立的目录的属性
directory mask = 777

; force group 和force user 规定创建的文件或文件夹的拥有者和组拥有者是谁
; 一般这两个值来空,则表示拥有者和组拥有者为创建文件者。 如设定值,如force group=xinzai
; Force user=yhq,则不管是谁创建的文件和文件夹,拥有者都为yhq和yhq组。

; force user强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,
; 如果我用force user=yhq强制建立文件的属主是yhq,同时限制create mask = 0755
; 这样guest就不能删除了。

force user = xinzai
force group = xinzai

; available用来指定该共享资源是否可用
available = yes

; 共享路径读权限 设置共享是否可浏览,如果no则表示隐藏,需要通过"//ip/共享目录"进行访问
browseable = yes

; 共享路径写权限
writable = yes

重启samba服务器:sudo service smbd restart

Windows:安装图中所示,创建映射网络驱动器,文件夹填写:\\虚拟机IP地址\share,例:\192.168.31.169\share,然后输入账号和密码,创建时一般都是与Linux账户设置一致

scp:Linux scp 命令 | 菜鸟教程