文章目录
一、认识命令行当中的内容:
- root:代表当前用户;
- VW-4-2-centos:代表主机名;
- ~:表示当前目录为home目录;
二、Linux指令中的基本知识
关于XShell 下的复制粘贴
- 复制: ctrl + insert (有些 insert 需要配合 fn 来按)
- 粘贴: shift + insert
ctrl + c / ctrl + v 是不行的.
使用 tab 键补全
我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率.
使用 ctrl + c 重新输入
如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.
三、yum
认识 yum
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上.
包管理器就好比 “应用商店”, 我们可以在应用商店上下载一些 app.
yum 起到的功能和 Maven 的依赖管理功能类似. 使用 Maven 能帮我们方便的安装一些第三方 jar 包, 而yum 方便我们方便的安装第三方程序.
类似的, Github 也能起到 “软件仓库” 的效果, 而且确实有些编程语言的包管理工具就是基于Github (例如 Go 语言). 只不过, Github 不光能用于分发程序, 也能管理源码并进行协同开发, 而yum 和 maven 都是仅用于分发程序.
查看软件包列表
yum list | grep [软件包关键字]
注意, 最好要加上 grep, 否则罗列的内容会非常多, 导致机器很卡.
安装软件包(需要管理员权限)
yum install [软件包名字]
卸载软件包(需要管理员权限)
yum remove [软件包名字]
注意事项
yum 所有的命令必须保证网络是联通情况下, 才能使用(云服务器一般网络都是良好的).
yum install / yum remove 必须具备管理员权限(root 用户).
可以使用 ping www.baidu.com 来检测网络的畅通情况.
打开cmd 也可以测试自己电脑网络状况:
四、Linux基本命令
命令1:ls
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录像文件一样显示,而不是显示其下的文件。 如:ls -d 指定目录
-k 以 k 字节的形式表示文件的大小。 ls -alk 指定文件
-l 列出文件的详细信息。
-r 对目录反向排序。
-t 以时间排序。
-R 列出所有子目录下的文件。(递归)
常用命令:ls -l 可简化为 ll
命令2:pwd
语法: pwd
功能:显示用户当前所在的目录
命令3:cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下.
举例:
cd . . 返回上级目录
cd ~ 进入用户家目
cd - 返回最近访问目录
cd后面既可以跟着绝对路径,又可以跟着相对路径。
认识 Linux 目录结构
Linux 是一个树形目录结构.
特殊的目录:
- / 称为根目录
- . 称为当前目录
- . . 称为当前目录的上级目录
绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 . . 开头的, 称为相对路径.
命令4:touch
语法: touch [选项] 文件
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
举例:
touch test.txt
命令5:cat
语法:cat [选项] [文件]
功能: 查看目标文件的内容
常用选项:
-n 对输出的所有行编号
举例:
cat test.txt
命令6:mkdir
语法:mkdir [选项] dirname
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录
举例:
mkdir –p test/test1 递归建立多个目录
命令7:rm
语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
举例:
rm test.txt
rm指令不可以直接删除一个目录,但是可以直接删除一个文件。因此,如果要删除一个目录,就需要使用rm-r这一个命令。
rm -rf +目录名称 也是删除指定的目录,但是可以跳过这一个提示
重要注意事项:千万不要运行 rm -rf / , 尤其是在公司的生产服务器上.
命令8:cp
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息 。
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
举例:
cp test1.txt test2.txt
cp不可以拷贝目录,如果想拷贝目录,就需要改成:
cp-r +待复制的目录名称+复制的新路径
命令9:mv
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移
至一个新的目录中。 - 当第二个参数类型是文件时,mv命令完成文件重命名,重命名为给定的目标文件名。
常用选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
举例:
mv test1.txt test2.txt
命令10:man
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法: man [选项] 命令
常用选项
-k 根据关键字搜索联机帮助
num 只在第num章节找
man man 能够看到 man 手册中的若干个章节及其含义.
举例
man ls
如果想退出,只需要直接输入q就可以了。
命令11:tree
如果连续使用多次mkdir创建目录,那么就会创建出很多级的目录,这样我们就难以分清目录的结构了,于是就可以通过tree命令来查看目录的结构了。
tree命令不属于Linux自带的命令,是属于第三方提供的命令,要单独下载安装,通过yum install tree这一个命令从网上下载下来tree命令
命令12:echo
echo是打印内容到控制台,也可以用于写文件。
echo 字符串
这一个命令的含义就是把字符串输入到控制台。
例如:echo ‘hello’,就相当于把’hello’这个字符串给输入到控制台当中。
echo 字符串>已经存在的文件
这一个命令的含义就是把字符串写入到指定的文件当中。
如果多次执行echo ‘字符串’ >hello.txt
那么就会以最后一次写入的为标准。也就是相当于每执行一次echo命令写入字符串,相当于刷新一次文件。
命令13:vim
vim 是一个知名的文本编辑器. 前面学习的 cat命令只能查看文本, 不能编辑文本,使用vim 就可以进行编辑.
vim 就相当于 Windows 的记事本,但是功能比记事本强大一些.。
- 创建文件 / 打开文件
vim [文件名]
- 进入插入模式
vim 打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键.
(例如按下 j 并不是输入字母 “j”, 而是表示光标往下移动一行).
需要进入插入模式才能进行文本编辑. 使用 i 键可以进入到插入模式.
(左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑. - 保存
在插入模式下不能保存文件, 需要先回到 普通模式 . 按下 Esc 回到普通模式.
在普通模式下输入 :w , 再按下回车, 即可保存文件. - 退出
在插入模式下不能退出, 需要先回到 普通模式.
在普通模式下输入 :q , 再按下回车, 即可退出.
直接使用 :wq 同时执行保存和退出.
为什么不用vim来查看日志?
第一个原因:日志一般不需要进行编辑;
第二个原因:日志一般内容都比较多,使用vim并没有带有分页的功能。一次查看内容太多,容易造成服务器的宕机。
命令14:grep
语法:grep [参数]… [文件]…
功能:用于查找文件中是否包含指定字符串, 并显示对应的行.
选项:
-n<行数> 显示的行数
-w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
-r 递归查找. 可以搜索多级目录下的所有文件.
–color 高亮查找到的结果
–include 指定查找某些文件
–exclude 指定排除某些文件
举例:
grep “hello” Hello.java
命令15:ps
语法:ps [参数]…
功能:用于查看当前系统上运行的进程
选项:
a 显示一个终端的所有进程
u 以用户为主的格式来显示程序状况
x 显示所有程序,不以终端机来区分
举例:
ps aux 显示系统上所有的进程
ps aux | grep “进程名”
ps aux | grep “进程id”
命令16:netstat
语法:netstat [参数]…
功能:查看系统上的网络状态.
选项:
-a 显示所有正在或不在侦听的套接字
-n 显示数字形式地址而不是去解析主机、端口或用户名
-p 显示套接字所属进程的PID和名称
举例:
netstat -anp
netstat -anp | grep “进程名”
netstat -anp | grep “端口号”