目录

🔥一、基础命令

1.sudo su(superuser do)

2.pwd(print working directory)

3.ls(list)

4.cd(change directory)

5.mkdir(make directory)

6.touch

7.1 cat(concatenate)

 7.2 more,less

7.3 tail

7.4 head

8.vim/vi (Vi IMproved/Visual Interface)

9.rm(remove)

10.cp(copy)

11.mv(move)

12.grep(Global Regular Expression Print)

13.ps(process status)

14.|:管道

15.netstat 

16.退出命名

17.上传/下载文件

18.清屏:clear

19.apt(Advanced Packaging Tool)

二、系统编程&⽹络编程


🔥一、基础命令

使⽤命令相⽐于使⽤图形界⾯主要有以下好处:

• 节省系统资源:运⾏图形界⾯需要让系统付出⼀些额外的资源开销.尤其是对于配置⽐较低的嵌⼊式设备,这⼀点⾄关重要.

• 节省⽹络带宽:如果通过⽹络访问服务器,使⽤图形界⾯需要传输⼀帧⼀帧的图像,⽽使⽤命令只需要传输简单的字符串.

• 便于批量执⾏任务:可以通过⼀些”脚本”代码(⽐如Linux Shell)来批量执⾏⼀些任务,完成⼀些简单的编程⼯作.(⽐如定时备份⽂件,删除⽂件等)

关于XShell下的复制粘贴(可以重新设置快捷键⼯具=>选项=>键盘和⿏标=>编辑)

  • 复制:ctrl+insert(有些insert需要配合fn来按)
  • 粘贴:shift+insert

1.sudo su(superuser do)

功能:从普通用户切换到超级用户(root 用户)

2.pwd(print working directory)

功能:查看当前目录

3.lslist)

语法:ls [选项] [⽬录或⽂件]

功能:查看当前文件夹的内容

常⽤选项:

 举例:

ll (ls -l)  //列出文件的详细信息

4.cd(change directory)

语法:cd ⽬录名

功能:切换到指定目录

举例:

# 返回上级⽬录
cd ..

# 进⼊⽤⼾家⽬录
cd ~

# 返回最近访问⽬录
cd -

 小Tip:tab键自动补全

5.mkdir(make directory)

语法:mkdir [选项] dirname…

功能:在当前⽬录下创建文件夹

常⽤选项:-p, –parents可以是⼀个路径名称。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将⾃动建⽴好那些尚不存在的⽬录,即⼀次可以建⽴多级⽬录

举例:

# 递归建⽴多个⽬录
mkdir –p test/test1

6.touch

语法:touch [选项]… ⽂件…

功能:创建文件

touch命令参数可更改⽂档或⽬录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在的⽂件

举例:

touch test.txt

7.1 cat(concatenate)

语法:cat [选项] [⽂件]

功能:查看文件

“concatenate” 意为 “连接、串联”,cat 命令最初的设计目的是将多个文件连接起来并输出,现在也常用于查看单个文件内容

常⽤选项:

-n 对输出的所有⾏编号

举例:

cat test.txt

 还有其他命令也可以查看文件

 7.2 more,less

功能:分页查看文件内容

more常用选项:

操作指令: 

 less常用选项:

操作指令: 

 举例:

less/more -N file.txt

less命令退出::q

7.3 tail

语法:tail [必要参数] [选择参数] [⽂件]

功能:⽤于显⽰指定⽂件末尾内容,不指定⽂件时,作为输⼊信息进⾏处理。常⽤查看⽇志⽂件

常⽤选项:

-f 循环读取

-n<⾏数>显⽰⾏数

举例:

tail -10 test1.txt
7.4 head

同tail,但是是从前往后 

8.vim/vi (Vi IMproved/Visual Interface)

vim就相当于Windows的记事本.只不过功能⽐记事本强⼤⼀些

(1)创建⽂件/打开⽂件

vim [⽂件名]

(2)进⼊插⼊模式

vim打开⽂件后默认是普通模式,需要使用 i 键进⼊插⼊模式才能进⾏⽂本编辑

(3)保存

  • ESC:退出编辑
  • :wq:保存文件(write quit)

(4)如果修改后不保存

9.rm(remove)

语法:rm [-f-i-r-v] [dirName/dir]

功能:删除⽂件或⽬录

常⽤选项:

-f 即使⽂件属性为只读(即写保护),亦直接删除
-i 删除前逐⼀询问确认
-r 删除⽬录及其下所有⽂件

举例:

rm test.txt

 重要注意事项:

千万不要运⾏ rm -rf / ,尤其是在公司的⽣产服务器上

 使⽤rm-ri命令删除test,观察删除的顺序

10.cp(copy)

语法:cp [选项] 源⽂件或⽬录 ⽬标⽂件或⽬录

功能:复制⽂件或⽬录

注意:如果同时指定多个文件/目录,而最后的目的地并非一个已存在的目录,就会出错

常用选项:

(1)-f 或 –force强⾏复制⽂件或⽬录,不论⽬的⽂件或⽬录是否已经存在

(2)-i 或–interactive覆盖⽂件之前先询问用户

(3) -r 递归处理,将指定⽬录下的⽂件与⼦⽬录⼀并处理。若源⽂件或⽬录的形态,不属于⽬录或符号链接,则⼀律视为普通⽂件处理

(4)-R 或–recursive递归处理,将指定⽬录下的⽂件及⼦⽬录⼀并处理

举例:

cp test1.txt test2.txt

11.mv(move)

语法:mv [选项] 源⽂件或⽬录⽬标⽂件或⽬录

功能:剪切src到dest

  • 如果给的是目标文件:就会进行重命名
  • 如果给的是目录:就是移动到dest

常用选项:

• -f :force强制的意思,如果⽬标⽂件已经存在,不会询问⽽直接覆盖

• -i :若⽬标⽂件(destination)已经存在时,就会询问是否覆盖

举例:

mv test1.txt test2.txt

12.grep(Global Regular Expression Print)

语法:grep [参数]… [⽂件]… 

功能:⽤于查找⽂件中是否包含指定字符串,并显⽰对应的⾏

常⽤选项:

举例:

grep "hello" Hello.java

13.ps(process status)

语法:ps [参数]… 

功能:⽤于查看当前系统上运⾏的进程

常⽤选项:

举例:

ps aux # 显⽰系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"

14.|:管道

管道是⼀种古⽼的”进程间通信”⽅式.在Linux指令中可以使⽤ | 作为管道标记

功能:将前⼀个指令标准输出的内容,作为第⼆个指令的标准输⼊内容

举例:

ps -ef|grep "java"
//先查找系统中的所有进程,然后筛选并打印出与 Java 相关的进程信息

ps -ef|head -10
//先获取系统中所有进程的详细信息,然后只显示其中的前 10 行

tail -f log.txt|grep "Exception"
//实时监控 log.txt 日志文件,当文件中有新内容追加时,会实时筛选出包含 "Exception" 的行并显示出来

15.netstat 

语法:netstat [参数]…

功能:查看系统上的⽹络状态

常⽤选项:

举例:

netstat -anp
//输出所有网络连接和监听端口的详细信息

netstat -anp | grep "进程名"
//输出所有网络连接和监听端口的详细信息(指定进程名)

netstat -anp | grep "端⼝号"
//输出所有网络连接和监听端口的详细信息(指定端口)

16.退出命名

  • 万能退出命令:ctrl + c     一次不行试两次
  • 文件退出::q
  • ESC
  • 数据库退出:exit

17.上传/下载文件

上传文件:直接拖拽/rz命令

sz:下载Linux服务器文件到本地

18.清屏:clear

19.apt(Advanced Packaging Tool)

Linux软件包管理⼯具.⽤于在Ubuntu、Debian和相关Linux发⾏版上安装、更新、删除和管理deb软件包

⼤多数apt命令必须以具有sudo权限的用户⾝份运⾏

apt-get update:更新软件包

apt install xx:安装软件包

apt remove xx:删除文件,但是留下了配置文件

apt purge xx:删除包相关的所有内容


二、系统编程&⽹络编程

Linux⾃⾝提供了⼀些API,供程序猿调⽤来完成⼀些更复杂的编程任务(⽐如⽂件操作,多线程编程,socket编程等).

但是由于Java跨平台的特性,这部分功能已经被Java⾃⾝封装好了(流对象,Thread对象,Socket对象等)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。