【Linux】Linux必备的基础指令
目录
- Linux必备的基础指令
- 一 、 什么是Linux
- 二、 Linux常用命令
- 2.1 ls
- 2.2 pwd
- 2.3 cd
- 2.4 touch
- 2.5 cat
- 2.6 mkdir
- 2.7 rm
- 三、 Linux重要指令
- 3.1 cp
- 3.2 mv
- 3.3 tail
- 3.4 vim
- 3.5 grep
- 3.6 ps
- 3.7 netstat
Linux必备的基础指令
一 、 什么是Linux
- 系统编程&⽹络编程 Linux⾃⾝提供了⼀些API,供程序猿调用来完成⼀些更复杂的编程任务(⽐如文件操作,多线程编程,socket编程等).但是由于Java跨平台的特性,这部分功能已经被Java⾃⾝封装好了(流对象,Thread对象,Socket对象等).所以这部分内容我们不必再学习了.
- 部署JavaWeb项目 我们⾃⼰写的web程序,要想让其他的用户能够访问,就需要发布到服务器上.这是我们接下⾥重点学习的内容.
终端软件是⼀类⼯具软件,可以和远程的主机建⽴⽹络连接,从⽽对主机进行⼀些操作.
在下面的讲解中用到的是Xshell指令
二、 Linux常用命令
2.1 ls
语法:ls[选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信
息。
常用选项:
- -a列出目录下的所有文件,包括以.开头的隐含文件。
- -d将目录象文件⼀样显示,⽽不是显示其下的文件。如:ls‒d指定目录
- -k以k字节的形式表示文件的⼤⼩。ls‒alk指定文件
- -l列出文件的详细信息。
- -r对目录反向排序。
- -t以时间排序。
- -R列出所有子目录下的文件。(递归)
举例:
ls -l
2.2 pwd
语法:pwd
功能:显示用户当前所在的目录
举例:
pwd
2.3 cd
Linux系统中,磁盘上的文件和目录被组成⼀棵目录树,每个节点都是目录或文件。
语法:cd目录名
功能:改变⼯作目录。将当前⼯作目录改变到指定的目录下.
举例:
# 返回上级目录 cd .. # 进⼊用户家目录 cd ~ # 返回最近访问目录 cd -
2.4 touch
语法:touch[选项]…文件…
功能:touch命令参数可更改文档或目录的⽇期时间,包括存取时间和更改时间,或者新建⼀个不存在
的文件。
举例:
touch test.txt
2.5 cat
语法:cat[选项][文件]
功能:查看目标文件的内容
常用选项:
- -n对输出的所有行编号
cat test.txt
2.6 mkdir
语法:mkdir[选项]dirname…
功能:在当前目录下创建⼀个名为“dirname”的目录
常用选项:
- -p,–parents可以是⼀个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将⾃动
建⽴好那些尚不存在的目录,即⼀次可以建⽴多级目录
举例:
# 递归建⽴多个目录 mkdir –p test/test1
2.7 rm
语法:rm[-f-i-r-v][dirName/dir]
功能:删除文件或目录
常用选项:
- -f即使文件属性为只读(即写保护),亦直接删除
- -i删除前逐⼀询问确认
- -r删除目录及其下所有文件
举例:
rm test.txt
三、 Linux重要指令
3.1 cp
语法:cp[选项]源文件或目录目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是⼀个已经存
在的目录,则它会把前⾯指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,⽽最
后的目的地并⾮⼀个已存在的目录,则会出现错误信息
常用选项:
- -f或–force强行复制文件或目录,不论目的文件或目录是否已经存在
- -i或–interactive覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录⼀并处理。若源文件或目录的形态,不属于目录或符号 链接,则⼀律视为普通文件处理
- -R或–recursive递归处理,将指定目录下的文件及子目录⼀并处理
举例:
cp test1.txt test2.txt
3.2 mv
语法:mv[选项]源文件或目录目标文件或目录
功能:
- 视mv命令中第⼆个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移
⾄⼀个新的目录中。
- 当第⼆个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有⼀个(也可以是源目
录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第⼆个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源
文件均移⾄目标目录中。
常用选项
- -f:force强制的意思,如果目标文件已经存在,不会询问⽽直接覆盖
- -i:若目标文件(destination)已经存在时,就会询问是否覆盖!
举例:
mv test1.txt test2.txt
3.3 tail
语法:tail[必要参数][选择参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输⼊信息进行处理。常用查看⽇志文件。
选项:
- -f循环读取
- -n显示行数
举例:
tail -10 test1.txt
3.4 vim
vim是⼀个知名的文本编辑器.使用vim可以进行文本编辑了.
vim就相当于Windows的记事本.只不过功能⽐记事本强⼤⼀些.
- 1)创建文件/打开文件
vim [文件名]
- 2)进⼊插⼊模式 vim打开文件后默认是普通模式.普通模式下键盘的按键表示⼀些特殊功能的快捷键.(例如按下j并不
是输⼊字⺟"j",⽽是表示光标往下移动⼀行).需要进⼊插⼊模式才能进行文本编辑.
使用i键可以进⼊到插⼊模式.(左下⻆提示–INSERT–)然后就可以像记事本⼀样正常编辑了.
- 3)保存 在插⼊模式下不能保存文件,需要先回到普通模式.按下 Esc 回到普通模式. 在普通模式下输⼊ :w
,再按下回⻋,即可保存文件.
- 4)退出 在插⼊模式下不能退出,需要先回到普通模式. 退出时,分以下情况:
①文件未修改:输⼊ :q ,再按下回⻋,即可退出
②文件修改并保存:使用 :wq 同时执行保存和退出.
③文件修改,但不希望保存:使用 :wq! 进行强制退出
3.5 grep
语法:grep[参数]…[文件]…
功能:用于查找文件中是否包含指定字符串,并显示对应的行.
选项:
- -n显示的行数
- -w全字匹配.要求整个单词都完全相同的结果才能匹配出来,⽽不仅仅是⼀个单词的⼀部分.
- -r递归查找.可以搜索多级目录下的所有文件.
- –color⾼亮查找到的结果
- –include指定查找某些文件
- –exclude指定排除某些文件
举例:
grep "hello" Hello.java
3.6 ps
语法:ps[参数]…
功能:用于查看当前系统上运行的进程
选项:
-
a显示⼀个终端的所有进程
-
以用户为主的格式来显示程序状况
-
x显示所有程序,不⽌是会话中的进程
-
e显示所有进程,包括系统守护进程
-
f显示完整格式输出
举例:
ps aux # 显示系统上所有的进程 ps aux | grep "进程名" ps aux | grep "进程id"
3.7 netstat
语法:netstat[参数]…
功能:查看系统上的⽹络状态.
选项:
- -a显示所有正在或不在侦听的套接字
- -n显示数字形式地址⽽不是去解析主机、端⼝或用户名
- -p显示套接字所属进程的PID和名称
举例:
netstat -anp netstat -anp | grep "进程名" netstat -anp | grep "端⼝号"
-
- 视mv命令中第⼆个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移
- -p,–parents可以是⼀个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将⾃动
- -n对输出的所有行编号