一、Windows相关
大小写不敏感
1.CMD的命令
cd:目录切换(大盘符切换需要使用 “盘符:”,比如D:
- ipconfig:显示网卡信息
- ping:查看是否能连接目的IP
- cls:清空当前页面显示的内容
2. 特殊的进程
- services.msc:系统服务
- regedit:注册表
3.需要关注的一些东西
- ./:当前路径
- …/:上一级路径
相对路径时需要
二、Linux指令
大小写敏感,数据库也有大小写敏感的设置及默认设置,比如MySQL默认是不敏感的,但是可以设置为敏感的
参数可以合并在一起,也可以分开写
1.文件/目录基本操作
1.1. ls指令
带参数,表示显示路径
◆ls-l指令等同于ll
◆语法: ls [选项] [目录或文件]
◆功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
◆常用选项:
- -a: 列出目录下的所有文件,包括以 . 开头的隐藏文件
- -d :将目录象文件一样显示,而不是显示其下的文件
- -k :以 k 字节的形式表示文件的大小。ls –alk 指定文
- -l :列出文件的详细信息。
- -r :对目录反向排序
- -t :以时间排序。
- -R :列出所有子目录下的文件。(递归)
◆举例:
ls -l
ls -l -R
ls -lR
1.2.PWD命令
◆语法: pwd 功能:显示当前路径
◆举例:
pwd
1.3. cd 指令
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
◆语法: cd 目录名
◆功能: 改变工作目录。将当前工作目录改变到指定的目录下
◆举例:
cd .. //返回上级目录
cd ~ //进入用户家目(代表用户登录 的默认路径)
cd - //返回最近访问目录
认识 Linux 目录结构
Linux 是一个树形目录结构
◆/ 称为根目录
◆. 称为当前目录
◆… 称为当前目录的上级目录
◆绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.
形如: ./logs 以 . 或者 … 开头的, 相对路径.
◆使用 tab 键补全
ll -al /opt/apache(点tap键)
//执行结果
ll -al /opt/apache-tomcat-8.5.40
我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率,再双击tap可以显示符合前缀的.
◆ ctrl + c :取消输入的命令,如果进程占用了当前窗口,可以使用Ctrl + c结束进程
1.4.touch指令
◆语法: touch [选项]… 文件…
◆功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
◆举例:
touch test.txt
1.5.man:显示某个指令的参数说明
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
◆语法: man [选项] 命令
◆常用选项:
- -k 根据关键字搜索联机帮助
- num 只在第num章节找
- man man 能够看到 man 手册中的若干个章节及其含义
◆举例:
man ls
1.6. mkdir 指令
创建文件夹,-p表示多级目录
◆语法:mkdir [选项] dirname…
◆功能:在当前目录下创建一个名为 “dirname”的目录
◆常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好
那些尚不存在的目录,即一次可以建立多级目录
举例:
mkdir –p test/test1 : 递归建立多个目录
1.7.rm命令:使用时一定要注意!!!
◆语法:rm [-f-i-r-v] [dirName/dir]
◆功能:删除文件或目录
◆常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
◆举例:
rm test.txt
◆重要注意事项:
千万不要运行 rm -rf / , 尤其是在公司的生产服务器上
1.8. cp指令
◆语法:cp [选项] 源文件或目录 目标文件或目录
◆功能: 复制文件或目录
◆说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则
它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的
目录,则会出现错误信息
◆常用选项:
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
◆举例:
cp test1.txt test2.txt
1.9. mv指令
移动文件或文件夹(包含重命名操作)
◆语法: mv [选项] 源文件或目录 目标文件或目录
◆功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的 目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将
所给的源文件或目录重命名为给定的目标文件名。 - 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目
标目录中。
◆常用选项 - -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
◆举例
mv test1.txt test2.txt
1.10.cat指令(大文件慎用)
◆语法:cat [选项] [文件]
◆功能: 查看目标文件的内容
◆常用选项:
- -n 对输出的所有行编号
cat test.txt
2.文件内容操作
2.1.vi:文本编辑器
vi test2.txt
◆查看模式:默认进入时的模式
◆编辑模式:
- i/a键:当前光标所在位置,以插入的方式进入编辑模式
- o键:当前光标所在位置,以插入新行的方式进入编辑模式
光标选中某段文本:复制文本字符串
鼠标右键:粘贴
w代表写操作
q代表退出
!代表强制退出
◆保存:编辑完之后ESC退出到只读模式,点“:wq”保存并退出
切换到首行:gg
切换到末行:shift+g
◆搜索:只读模式下,“/搜索的内容”,如果搜索到,会显示当前光标之后,下一处出现的字符串,再键入n,代表搜索下一处,shift+n代表上一处
2 .2.less指令(显示文件内容)
只显示一页
◆语法: less [参数] 文件
◆ 功能: 查看文件内容. 不会立刻把所有文件内容加载到内存中. 也能进行查找,
◆ 选项:
- j/k按键 : 显示多页内容时,上下移动光标.
- -N 显示每行的行号 /字符串:向下搜索“字符串”的功能
- n:重复前一个搜索(与 /
或 ? 有关) - q: 退出
2.3. head指令:显示文件内容
从开头到指定行号,-n指定行号,比如-n20,显示从开头到指定行号的内容,不指定行号默认10行
◆ 语法: head [参数]… [文件]…
◆ 功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
◆ 选项
-n<行数> 显示的行数
head test2.txt
head -n 20 test2.txt
2.4. tail指令
◆ 语法: tail [必要参数] [选择参数] [文件]
◆ 功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
◆ 选项:
- -f 循环读取
- -n<行数> 显示行数
◆ 举例:有一个文件共有100行内容,请取出第50行内容
# 方法1
head -n50 test > tmp # 将前50行装入临时文件 tmp
tail -n1 tmp # 得到中间行
# 方法2
head -n50 test | tail -n1
关于重定向
Linux 的很多指令, 如 cat head tail 等都是默认输出到 “标准输出” 中, 也就是显示器上的. 可以通过 > 这样的符
号把本来要输出到标准输出上的内容写到特定文件中. 这样的操作称为 “重定向”.
重定向有三种方式:
- 标准输入重定向(<)
# 先构造一个文件, 里面添加一些内容.
cat < test.txt`
- 标准输出重定向 (>)
cat test.txt > test2.txt
- 标准错误重定向 (2>), 注意 2 和 > 之间不能有空格.
尝试删除一个不存在的文件
rm aaa > test.txt
输出结果, 这个提示并没有被重定向到 test.txt 文件中.
rm: cannot remove ‘aaa’: No such file or directory
正确做法
rm aaa 2> test.txt
标准输入, 标准输出, 标准错误是三个特殊的文件, 每个进程在启动的时候都会默认打开. 分别对应到键盘, 显示器, 显示器这样的设备.
在 Java 中, 分别对应到 System.in , System.out , System.err
关于管道
管道是一种古老的 “进程间通信” 方式. 在 Linux 指令中可以使用 | 作为管道标记.意思是将前一个指令标准输出的内容, 作为第二个指令的标准输入内容.
2.6. date 命令
- date 指定格式显示时间: date +%Y:%m:%d
- date 用法:date [OPTION]… [+FORMAT]
- 在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记
- %H : 小时(00…23)
- %M : 分钟(00…59)
- %S : 秒(00…61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01…31)
- %m : 月份 (01…12)
- %Y : 完整年份 (0000…9999)
- %F : 相当于 %Y-%m-%d
- 时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午
夜)开始所经过的秒数,不考虑闰秒
3.远程连接:ssh
很多系统都支持的协议和命令,Windows中cmd也可以用,也可以使用再次登录到其他主机
格式:ssh远程主机用户名@远程主机IP:要下载的文件路径 本地下载路径
4.文件复制:scp
上传格式:scp 本地文件路径 远程主机用户名@远程主机IP:上传路径
下载格式:scp 远程主机用户名@远程主机IP:要下载的文件路径 本地下载路径
5.ftp:文件传输协议—依赖ftp服务器
6.sftp:安全的文件传输协议
依赖ssh
- 先连接: sftp 远程主机用户@远程主机IP
- 进入sftp命令行,支持很多指令,pwd,ls,cd等操作远程主机,前边加 l 操作本机,如lpwd。 上传使用put,下载使用get,可以为相对路径或绝对路径
7.ps :查看进程
全局:很多地方都有类似的输入文件名、进程名等等的操作,如果包含空格等特殊符号,需要加上""
ps-ef | grep进程的名称
ps aux | grep 进程的名称
8.netstat:查看端口,找出进程的pid
netstat-anp|grep端口号(Linux)
netstat-anp|grep端口号(windows)
三、软件安装、卸载
1.第一种方式:yum,依赖yum源
- 查看已经安装的软件:
yum list installed | grep软件名
(可以是软件包一部分名字) - 安装:
yum install -y软件名
(必须是软件包全名)
卸载:yum remove 软件名
(必须是全名)
下同
2.第二种方式:rpm,依赖已经有的rpm软件包
- 查看:
rpm -qa|grep软件名
- 安装:
rpm -ivh 软件名
- 卸载:
rpm -e软件名
rpm-e-nodeps软件名(忽略依赖,直接删)