7.28——Linux常用命令(一)
课前扩展
主流操作系统
- windows
- unix
- Linux
Linux
内核由林纳斯开发出来的,是一种免费使用和自由传播的类UNIX操作系统,开源,全球顶级的程序员都加入共同来开发以及维护Linux操作系统。
分支
- CentOs7.6
- ubantu
- RedHat
- 麒麟
常用端口号:
- ssh 22
- nginx/apache 80
- mysql 3306
- Email 25
- tomcat 8080
- https 443
客户端通过账号密码方式进行ssh连接Linux
在 Linux 系统上 SSH 是非常常用的工具,通过 SSH Client 我们可以连接到运行了 SSH Server 的远程机器上,ssh服务的端口是22,k可以省略不写。SSH Client 的基本使用方法是:ssh user@IP地址
具体操作步骤:
win键加r,打开运行窗口,输入cmd,进入控制台。
执行命令: ssh 账户@云服务ip地址。
输入密码后连接Linux。
ps:(输入top就不会退出登录,要继续操作输入q)
通过客户端连接服务器
先下载一些软件(SecureCRT,Xshell,Termius)
以Termius为例:
二、Linux的常用命令
管理员账户是root。
1、pwd——查看当前账户下的目录
[ln@k8s-node1 ~]$ pwd
/home/ln
[ln@k8s-node1 ~]$
2、ls——查看
- 作⽤:列出⽬录内容
- 格式:ls [选项][目录名]
- ls -a:列出目录下的所以文件,包含.开头的隐藏文件。
- ls -l:列出文件的详细信息。
- ls -lh:查看文件的详细信息,并显示文件的大小。
- ls -d:仅仅查看目录。
- 常用组合命令:ls -lah
[ln@k8s-node1 ~]$ ls
index.py login.json target test
[ln@k8s-node1 ~]$ ls -a
. .bash_history .bash_profile .cache index.py .login123.json.swp .ssh test
.. .bash_logout .bashrc .config .lesshst login.json target
[ln@k8s-node1 ~]$ ls -l
total 12
-rw-rw-r-- 1 ln ln 0 Jul 28 15:13 index.py
-rw-rw-r-- 1 ln ln 984 Jul 28 11:07 login.json
drwxrwxr-x 2 ln ln 4096 Jul 28 15:45 target
drwxrwxr-x 3 ln ln 4096 Jul 28 15:41 test
[ln@k8s-node1 ~]$ ls -lh
total 12K
-rw-rw-r-- 1 ln ln 0 Jul 28 15:13 index.py
-rw-rw-r-- 1 ln ln 984 Jul 28 11:07 login.json
drwxrwxr-x 2 ln ln 4.0K Jul 28 15:45 target
drwxrwxr-x 3 ln ln 4.0K Jul 28 15:41 test
[ln@k8s-node1 ~]$ ls -d
.
[ln@k8s-node1 ~]$ ls -lah
total 68K
drwx------ 7 ln ln 4.0K Jul 28 16:12 .
drwxr-xr-x. 16 root root 4.0K Jul 28 10:41 ..
-rw------- 1 ln ln 4.9K Jul 28 18:40 .bash_history
-rw-r--r-- 1 ln ln 18 Nov 25 2021 .bash_logout
-rw-r--r-- 1 ln ln 193 Nov 25 2021 .bash_profile
-rw-r--r-- 1 ln ln 231 Nov 25 2021 .bashrc
drwxrwxr-x 3 ln ln 4.0K Jul 28 10:18 .cache
drwxrwxr-x 3 ln ln 4.0K Jul 28 10:18 .config
-rw-rw-r-- 1 ln ln 0 Jul 28 15:13 index.py
-rw------- 1 ln ln 35 Jul 28 16:12 .lesshst
-rw-r--r-- 1 ln ln 12K Jul 28 16:19 .login123.json.swp
-rw-rw-r-- 1 ln ln 984 Jul 28 11:07 login.json
drwx------ 2 ln ln 4.0K Jul 28 10:59 .ssh
drwxrwxr-x 2 ln ln 4.0K Jul 28 15:45 target
drwxrwxr-x 3 ln ln 4.0K Jul 28 15:41 test
3、date——查看当前时间
[ln@k8s-node1 ~]$ date
Thu Jul 28 18:44:17 CST 2022
4、别名设置(简写命令,提高效率)
- alias:查看系统存在的别名。
- 定义一个别名
格式:alias 别名="系统认可的命令"
如:alias ls="ls -lah"(给命令ls -lah定义一个别名a)。 - 取消一个别名unalias
格式:unalias 别名
如: unalias ls。(取消a的作用)
查看系统已有别名:
[ln@k8s-node1 ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
别名练习:
[ln@k8s-node1 ~]$ alias ls="ls -lah"
[ln@k8s-node1 ~]$ ls
total 68K
drwx------ 7 ln ln 4.0K Jul 28 16:12 .
drwxr-xr-x. 16 root root 4.0K Jul 28 10:41 ..
-rw------- 1 ln ln 5.1K Jul 28 18:48 .bash_history
-rw-r--r-- 1 ln ln 18 Nov 25 2021 .bash_logout
-rw-r--r-- 1 ln ln 193 Nov 25 2021 .bash_profile
-rw-r--r-- 1 ln ln 231 Nov 25 2021 .bashrc
drwxrwxr-x 3 ln ln 4.0K Jul 28 10:18 .cache
drwxrwxr-x 3 ln ln 4.0K Jul 28 10:18 .config
-rw-rw-r-- 1 ln ln 0 Jul 28 15:13 index.py
-rw------- 1 ln ln 35 Jul 28 16:12 .lesshst
-rw-r--r-- 1 ln ln 12K Jul 28 16:19 .login123.json.swp
-rw-rw-r-- 1 ln ln 984 Jul 28 11:07 login.json
drwx------ 2 ln ln 4.0K Jul 28 10:59 .ssh
drwxrwxr-x 2 ln ln 4.0K Jul 28 15:45 target
drwxrwxr-x 3 ln ln 4.0K Jul 28 15:41 test
取消别名:
unalias ls
5、Linux目录
1、树形目录
安装tree命令: yum install tree
卸载tree命令: yum uninstall tree
直接使用tree显示深度太多,一般用 -L 加数字选项设定目录深度
格式:tree -L n 【目录】(n是数字设定目录深度)
如: tree -L 2 aaa (看aaa目录下的两个目录深度)
2、切换目录
/ :表示根目录
. :表示当前目录
.. :表示当前目录的上一级目录
cd不加任何选项:返回到用户的家目录
3、mkdir——创建目录:
- 作⽤:在当前⽬录下创建下⼀级⽬录,⽆法跨级创建
- 常⽤参数
-p 创建多级⽬录(跨级创建)
-v 查看⽬录创建的过程(创建⽬录可视化)
[ln@k8s-node1 ~]$ mkdir -v -p ln/api/ui/jmeter
mkdir: created directory ‘ln’
mkdir: created directory ‘ln/api’
mkdir: created directory ‘ln/api/ui’
mkdir: created directory ‘ln/api/ui/jmeter’
[ln@k8s-node1 ~]$ tree - ln/
- [error opening dir]
ln/
`-- api
`-- ui
`-- jmeter
3 directories, 0 files
4、rm——删除⽂件或⽬录
①、删除⽂件
- rm -i⽂件名(删除时会询问是否删除)
- rm -f ⽂件名(强制删除)
- rm -v ⽂件名(可视化删除)
②2、删除⽬录 - rm -r ⽬录名(删除时会询问是否删除)
- rm -rf ⽬录名(强制删除,若⽬录不存在,此命令依旧可以执⾏,不报错)
- rm -rv ⽬录名(可视化强制) 删除⽬录和⽂件时,先删除⽂件在删除⽬录
rmdir——删除目录
仅可以删除空⽩⽬录(不可以删除包含内容的⽬录)如果删除的⽬录不是空的,就会出现问题,且需进入索要删除目录的上级目录才可以操作删除下级目录。
[ln@k8s-node1 ~]$ mkdir -v -p a/b/c
mkdir: created directory ‘a’
mkdir: created directory ‘a/b’
mkdir: created directory ‘a/b/c’
[ln@k8s-node1 ~]$ cd a/b
[ln@k8s-node1 b]$ rmdir c
[ln@k8s-node1 b]$ cd ..
[ln@k8s-node1 a]$ rmdir b/
[ln@k8s-node1 a]$ cd ..
[ln@k8s-node1 ~]$ rmdir a/
[ln@k8s-node1 ~]$ tree a/
a/ [error opening dir]
0 directories, 0 files
5、touch——创建空白文件
查看当前文件
[ln@k8s-node1 ~]$ ls
index.py login.json target test 专业库
创建a.txt文件
[ln@k8s-node1 ~]$ touch a.txt
[ln@k8s-node1 ~]$ ls
a.txt index.py login.json target test 专业库
[ln@k8s-node1 ~]$
6、cp——复制⽂件或⽬录(可以对⽬标⽂件或⽬录重命名)
- 源⽂件始终不变,仅仅是对⽬标⽂件进⾏改变。
- 复制文件格式:cp 源⽂件 ⽬标⽂件
[ln@k8s-node1 ~]$ cp a.txt aa.txt
[ln@k8s-node1 ~]$ ls
aa.txt a.txt index.py login.json target test 专业库
- 拷⻉⽬录(⽬录需要加/)注意区分绝对路径和相对路径
格式:cp -r 源⽬录 ⽬标⽬录
[ln@k8s-node1 ~]$ cp -r test test1/
[ln@k8s-node1 ~]$ ls
aa.txt a.txt index.py login.json target test test1 专业库
7、mv——移动或剪贴(注意与复制命令cp的区别。mv命令使源⽂件的状态发⽣改变)
1、移动⽂件时:
若⽬标⽂件存在,则询问是否覆盖
2、也可以⽤于重命名(会改变源⽂件的状态)
8、cat——查看文件内容
1.cat查看
查看文件内容
cat -n 文件名 (-n显示行数)
cat -A 文件名 (-A显示全部)
2.tac倒序查看
倒序显示文件内容
tac 文件名
3.more
查看文件内容,用回车键和空格键控制
more 文件名
4.less
查看文件内容,出现一屏,用回车键和空格键控制
less 文件名
5.head查看前几行
查看文件的前几行
head -n 数字 文件
例: head -n 8 Linux实战.pdf
6.tail查看后几行
6.1 查看文件的后几行
tail -n 数字 文件