来源:“码农不会写诗”公众号
书接上文
Linux是一个免费、开源、基于Posix和Unix的多用户、多任务、支持多线程和多CPU的操作系统。
1 背景
通过上节我们已经成功安装了ubuntu系统,但十万个为什么可能立马涌现出来了,操作界面呢?【我的电脑】呢?【回收站】呢?点击咋没反应呢?很正常朋友们,这只是我们使用windows的惯性思维!毕竟windows提供十分强大且友好的交互界面。
但不能因此说linux不够友好,学好linux命令会让你拥有非常高效的工作效率,至少作者本人受益匪浅,甚至对windows文件的操作,也大多基于上篇文章介绍的MobaXterm软件进行操作。效率直接起飞!
其实windows提供的桌面点点点等功能和linux提供的命令行都是操作系统的交互式接口。交互式接口就是系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。交互式接口通常指软件接口,一般有命令行接口、图形接口、程序接口三种。而命令行接口就是我们接下来要学习和操作的环境和接口啦~
2 MobaXterm使用设置
朋友们,正式开始之前,先介绍几个mobaxterm(上节安装)的非常实用的设置~
2.1 快速复制粘贴
mobaxterm:左键双击=ctrl+c(windows)
mobaxterm:右键单击=ctrl+v(windows)
点击鼠标右键就可以粘贴剪切板的内容
2.2 Solarized dark主题
因为版本之间设置可能有细微的差异,如图二选一
3 Linux命令详解
接下来我们就让Linux做我们想让它做的事情!
3.1 示例
查看操作系统版本,在命令行输出lsb_release -a,然后回车,则如下图所示。
文章为了展示方便,不再添加图片。展示方式参考以下例子,`#`符号后面是注释(大家可慢慢习惯#作为注释)。
序号 命令 命令作用简介
命令 # 注释用作添加一些说明
屏幕输出
如执行`lsb_release -a`命令展示如下:
01 lsb_release -a 查看操作系统版本
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
3.2 常用命令介绍
以下正式开始Linux常用命令介绍系列之一
01 whoami (当前登录用户名)
whoami
reaxff
02 pwd (显示当前所在目录)
pwd
/home/reaxff
03 ls (显示目录和文件)
ls 是最最最常用的命令,一定要熟练掌握!!!
ls # 当前目录下没有任何目录和文件则没有输出
touch test.txt # 创建空文件(后面讲touch命令)
ls # 看到新建的文件
test.txt
ls命令可以接很多命令参数,可以通过ls --help查看,以下仅列举最常用的几项:
-a: all。列举目录中的全部文件,包括隐藏文件(以.开始文件名的文件为隐藏文件);
-l: long。 列举目录内容的细节,包括权限(模式)、所有者、组群、大小、创建日期等。
看不懂没关系(后面有机会细讲),执行一下看看效果便一目了然啦
touch test.txt # 为演示,先创建一个名字叫test.txt的空文件(touch命令后面讲)
ls -a # 可以看到以.开头的文件
. .. .bash_logout .bashrc .profile test.txt
ls -l # 输出的第一行内容是当前文件夹下内容的大小
total 0
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 21:58 test.txt
ls -al # 所有的命令参数可以合用哦,并且不区分先后. ls -al等价于ls -la
total 8
drwxr-x--- 1 reaxff reaxff 512 Apr 3 22:54 .
drwxr-xr-x 1 root root 512 Apr 3 19:56 ..
-rw-r--r-- 1 reaxff reaxff 220 Apr 3 19:56 .bash_logout
-rw-r--r-- 1 reaxff reaxff 3771 Apr 3 19:56 .bashrc
-rw-r--r-- 1 reaxff reaxff 807 Apr 3 19:56 .profile
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 21:58 test.txt
ls -l test.txt # 查看某文件,所以不加参数,默认是当前文件夹哦
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 21:58 test.txt
04 cd (切换目录)
cd是最最最常用的命令,一定要熟练掌握!!!
cd # 切换到家目录,家目录即用户最顶层目录;切换成功不会有任何提示
cd ~ # 切换到家目录
mkdir test # 为演示,先创建一个名字叫test的目录(mkdir命令后面讲)
cd test # 进入test目录
pwd # 可以看到已切换到test目录
/home/reaxff/test
cd test # 进入test目录
cd . # 切换到当前目录,.代表当前目录
cd b # 回到上次所在的目录位置
cd .. # 切换到上级目录
cd ../.. # 切换到上级的上级目录(以此类推)
05 mkdir (新建目录)
mkdir是最最最常用的命令,一定要熟练掌握!!!
mkdir test # 新建test目录,可以看到报错啦,因为存在test目录了
mkdir: cannot create directory ‘test’: File exists
mkdir -p test # -p参数可以避免报错哦,有则忽略,没有则创建
mkdir test2 # 新建test2目录
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 21:58 test.txt
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:58 test2
mkdir test3/test # 在test3目录下新建test目录,又失败啦,因为test3不存在,不能递归创建
mkdir: cannot create directory ‘test3/test’: No such file or directory
mkdir -p test3/test # 加-p参数成功啦,可以递归创建
ls -l test3/
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:00 test
06 rm (文件与目录删除)
rm是最最最常用的命令,一定要熟练掌握!!!
rm是最最最容易让人捶大腿的命令,必须掌握!!!
没有回收站!没有回收站!!没有回收站!!!
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:07 test.txt
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:58 test2
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:00 test3
rm test.txt
ls -l # test.txt 被删除啦
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:58 test2
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:00 test3
rm test3 # test3无法删除,因为test3是文件夹,需要加-r参数递归删除
rm: cannot remove 'test3/': Is a directory
rm -r test3 # 删掉啦,-r递归删除
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:58 test2
rm -rf test2 # 删掉啦,-f表示强制删除,慎用慎用啊!-rf删库跑路组合!
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
07 mv (重命名或移动)
mv是最最最常用的命令,一定要熟练掌握!!!
touch test1.txt
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:17 test1.txt
mv test1.txt test2.txt # test1.txt重命名为test2.txt
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:17 test2.txt
mv test2.txt test # test2.txt文件移动到test目录下
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 22:56 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:17 test1.txt
ls -l test # 查看test目录内容,有test1.txt文件
total 0
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:17 test2.txt
08 cp (文件与目录拷贝)
cp是最最最常用的命令,一定要熟练掌握!!!
touch test1.txt
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:20 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:25 test1.txt
cp test1.txt test2.txt # test1.txt拷贝为test2.txt
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:20 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:25 test1.txt
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:28 test2.txt
cp test test2 # test是目录拷贝一份为test2,失败啦
cp: -r not specified; omitting directory 'test'
cp -r test test2 # -r参数表示递归拷贝
ls -l
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:20 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:25 test1.txt
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:30 test2
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:28 test2.txt
ls -l test2 # test2下只有test2.txt文件
total 0
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:30 test2.txt
cp -r test test2 # 当test2目录已经存在,此命令是把test复制到test2目录下
ls -l test2 # 可以看在test文件夹复制到test2目录下啦
total 0
drwxrwxr-x 1 reaxff reaxff 512 Apr 3 23:34 test
-rw-rw-r-- 1 reaxff reaxff 0 Apr 3 23:30 test2.txt
3 命令汇总
最后,整理下今天所学的重要命令:
pwd # 显示当前所有目录
ls # 列举目录内容
ls -l # 列举目录下内容
cd ~ # 切换到当前用户家目录
cd / # 切换到根目录(日常用不到)
cd . # 切换到当前目录(.代表当前目录)
cd b # 回到上次所在的目录位置
cd .. # 切换到上级目录
cd ../.. # 切换到上级目录的上级目录(以此类推)
mkdir # 新建目录
mkdir -p # 递归新建目录
rm # 删除文件(没有回收站)
rm -r # 删除目录
mv # 移动或重命名
cp # 拷贝文件
cp -r # 拷贝目录
今天的内容就到这里啦,下节继续linux命令介绍哈,先拜了个拜~