1. cd
用来改变目录
案例
cd 进入用户的主目录 cd /etc 绝对目录模式 cd ./home 相对目录模式 cd home 相对目录模式 cd .. 返回上一级目录
2. ls
列表显示文件和目录
案例
ls ls -a ls -l ls -ltr ls -ltrah
- l列表形式展示
- a显示隐藏文件
- tr 按时间顺序列出
- h 显示 K KM 等单位
3. clear & pwd & id & echo
- clear 清屏
- pwd 显示当前所在目录
- id 显示当前用户
- echo 打印、输出
echo '$PATH' echo "$PATH" echo $PATH
4.重定向 > & >>
>
输出覆盖>>
输出追加
5.创建文件
- 重定向
>
与>>
> a.txt >> b.txt echo "java" > a.txt echo "Linux" >> b.txt
- touch
#创建一个文件 touch test.txt # 同时创建两个文件 touch test1.txt test2.txt
- vi 和 vim
vi test.txt vim test.txt
6.rm & rmdir
删除文件和目录
rmdir
:用来移除空文件夹rmdir -p
:递归删除空目录rm
:用来删除文件或目录rm -r
:递归删除目录及其内容
rmdir -p a/b/ rm a.txt rm -f a.txt rm -rf test/
7.mkdir & man
创建目录
mkdir
:用来创建空文件夹mkdir -p
:递归创建目录
mkdir test midir -p test/py
- man 即 manual(手册)
man 命令
8.mv
移动或者重命名文件与目录
mv
: 移动文件,重命名文件
mv source_file dest_file mv source_directory dest_directory mv source_file dest_directory mv -f source_file dest_file
9. cp
cp
: 复制文件与目录
cp a.txt test/ cp –r test/ newtest/ cp -r source... directory
10.查看文件
查看或者编辑
- vi & vim
查看
- view
- cat
- head
- tail
- less
- more
案例
vi test.txt less test.txt #循环读取 tail -f access.log
11. ln
建立软链接、硬链接
软链接:
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 软链接可以跨文件系统,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
硬链接:
- 硬链接,以文件副本的形式存在。但不占用实际空间
- 不允许给目录创建硬链接
- 硬链接只有在同一个文件系统中才能创建
案例
#软链接 ln -s docker-compose dc #硬链接 ln docker-compose dc
12. chgrp & chown
- chgrp(change group):用于变更文件或目录的所属群组
- chown(change owner):用于设置文件所有者和文件关联组
格式
chgrp 组名 文件或目录 chown 用户 文件或目录 chown :组名 文件或目录 chown 用户:组名 文件或目录
案例
#将access.log文件由root群组改为nginx群组 chgrp nginx access.log #把httpd.pid的所有者设置root chown root /var/run/httpd.pid #将文件nginx.conf的拥有者设为nginx,群体的使用者nginx chown nginx:nginx nginx.conf #将当前前目录下的所有文件与子目录的拥有者皆设为nginx,群体的使用者nginx chown -R nginx:nginx test/
13. ping
- 检测主机
执行 ping 会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运行正常。
案例
ping baidu.com #指定接收包的次数 ping -c 10 baidu.com
14.telnet
telnet 用于远端登录
telnet服务的默认端口是23
案例
#telnet默认端口23 telnet 192.168.10.100 #telnet https端口 telnet baidu.com 443 #telnet redis端口 telnet local.redisservice.com 6379
15.netstat
显示网络状态
案例
#显示系统端口使用情况 netstat -anp #UDP类型的端口 netstat -nup #TCP类型的端口 netstat -ntpl #查询某个端口的状态 netstat -an | grep 端口 #统计已连接上的,状态为established netstat -an | grep ESTABLISHED | wc -l
16. grep & 管道命令操作符 |
- grep 查找文件里符合条件的字符串
|
管道命令操作符
案例
#查找包含test字符串的行 grep test audit.log #递归查找 grep -r *PATH* /etc #查找不以#打头的注释行 grep -v ^# /etc/profile #忽略大小写 grep -i test audit.log #使用管道 ls -l | less cat /etc/profile | grep PATH
17. scp从本地复制到远程
scp用于Linux系统之间复制文件和目录
使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的
使用GUI工具进行拷贝:Linux -> Windows -> Linux
格式
scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file
- 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
- 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
复制目录命令格式
scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ip:remote_folder
- 第1个指定了用户名,命令执行后需要再输入密码;
- 第2个没有指定用户名,命令执行后需要输入用户名和密码;
案例
#从本地复制到远程拷贝文件 scp test.txt root@www.olive.com:/home/ scp test.txt root@www.olive.com:/home/test1.txt scp test.txt www.olive.com:/home/ scp test.txt www.olive.com:/home/test.txt #从本地复制到远程拷贝目录 scp -r /home/test/ root@www.olive.com:/home/rtest scp -r /home/test/ www.olive.com:/home/rtest
18. scp从远程复制到本地
scp用于Linux系统之间复制文件和目录
格式
scp remote_username@remote_ip:remote_folder local_file 或者 scp remote_username@remote_ip:remote_file local_file 或者 scp remote_ip:remote_folder local_file 或者 scp remote_ip:remote_file local_file
- 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
- 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
复制目录命令格式
scp -r remote_username@remote_ip:remote_folder local_folder 或者 scp -r remote_ip:remote_folder local_folder
- 第1个指定了用户名,命令执行后需要再输入密码;
- 第2个没有指定用户名,命令执行后需要输入用户名和密码;
其实,只要将从本地复制到远程的命令的后2个参数调换顺序即可
案例
#从远程复制到本地 scp root@www.olive.com:/home/test.txt /home/test.txt scp -r www.olive.com:/home/rtest/ /home/test #scp命令使用端口号 8022 scp -P 8022 root@www.olive.com:/home/startup.sh /home/startup.sh