Linux终端命令学习(初学入门足够)
目录
5.3 more 文件名:分屏显示文件内容(适合内容较多的文件)
前言
个人很喜欢黑马的课,讲的很细很全,边看课边记录。
学习Linux终端命令的原因
1、大多数公司开发,都是用的linux系统,开源免费。所以得或多或少学会一些Linux的常用终端命令。
2、用熟了,开发效率贼高。
学习Linux终端命令的技巧
1、千万不要死记硬背,多用多练。
2、不要尝试一次学会所有的命令,记住常用的就够了,其他临时百度。(linux发行版终端命令大概有200多个,而常用的只有20个左右)
Linux常用命令
补充:
1、截图命令是gnome-screenshot。
2、命令后加-h,–help 显示帮助选项,–help-all 显示全部帮助选项。
3、git clone git://github.com/Dreamacro/clash.git 下载git文件
4、shutdown -r now 重启linux
5、ctrl+s 暂停终端命令,ctrl+q 继续终端命令
----------------------------------------------------- 2021.12.18------------------------------------------------------------
一、常用linux命令的基本使用
1、查看目录内容
1.1 ls 列表和隐藏文件显示
ls -a:显示路径下所有的文件(灰色)和目录(蓝色),包括隐藏文件( .xxx )。
ls -l:显示详细信息。
ls -lh:在ls -l 命令的基础上,还显示了文件大小。
1.2 ls 通配符的使用
最常用的通配符是* ? [ ]等
ls 1*.txt
ls 1?3.txt
ls 1[1-6]3.txt
----------------------------------------------------- 2021.12.19------------------------------------------------------------
2、切换目录
2.1 cd命令
cd是英文单词change directory的简写,其功能是更改当前的工作目录。
注意:Linux所有的目录和文件名对字母的大小写都是敏感的。
2.2 相对路径、相对路径
相对路径:例如cd .. 表示相对于当前目录的上一个目录
相对路径:例如cd /catkin_ws/src/ 表示根目录(/)或家目录(~)开始的具体位置
3、创建和删除操作
3.1 创建文件touch
格式:touch 文件名
注:当文件不存在时,创建一个空白文件;当文件存在时,修改文件的末次修改日期。
3.2 创建目录mkdir
格式:
1)“mkdir 文件名” 创建一个新的目录(也就是文件夹)。
2)”mkdir -p 目录1/目录2/目录3/目录4“ 可以递归创建目录(这4个目录从左到右是包含关系),如下图所示:
注:新建目录的名称不能与当前目录中已有的目录和文件同名。
3.3 删除命令 rm
注意:用rm命令删除文件后,文件不会放置在回收站,而是直接从磁盘删除。
rm -r xxx //递归删除文件(适用于多级文件夹)。
rm -f xxx //强制删除,忽略不存在的文件,无需提示。
举例:一般打开文件后,直接退出的会产生交换文件.swp,我们用rm命令把他们全部删除。
rm -rf .* // .* 代表.xxx的所有文件。
注意:-rf 直接递归删除,没有提醒!!! 所以千万不要手滑,删除其他文件。
4、拷贝和移动文件
4.1 以树状图列出文件目录tree
格式:tree 目录名
作用:是以树状图列出文件目录,
而 tree -d 目录名 作用是显示目录(蓝色),不显示文件(灰色)。
4.2 复制文件/目录 cp
格式:1)cp 源文件 目标文件,如下图:
2)cp -i 源文件 目标文件; //覆盖文件前提示(更安全)
3)cp -r 源文件 目标文件; //递归复制目录
4.3 移动或重命名 mv
格式:
1)mv 源文件 目标文件 ;
移动作用:当源文件和目标文件的路径不同时,有移动的作用
重命名作用:当源文件和目标文件的路径相同但文件名不同时,有重命名的作用。
其中 ./ 代表当前文件下。下图为重命名操作。
2 )mv -i 源文件 目标文件;//覆盖文件前提示,更安全。
5、查看文件内容
5.1 gedit 文件名
gedit config //用gedit文本编辑器打开文件config
5.2 cat 文件名:(适合内容较少的文件)
如果文件是空的,则不显示。需要用先gedit编辑一下,再查看。
cat config //完整显示config文件的所有内容
cat -b 123456.txt //对输出的非空行编号 (等价于nl命令)
cat -n 123456.txt //对输出的所有行编号,如下图
5.3 more 文件名:分屏显示文件内容(适合内容较多的文件)
more 命令比较常用,在此页面后,可以使用空格命令翻页,回车命令查看下一行,q命令退出等等
5.4 grep 搜索文件里的内容
grep +内容+文件;例如:grep as 123456.txt
grep -n +内容+文件://显示行号
grep -v +内容+文件://反选
grep -i +内容+文件://忽略大小写
常用的两种模式查找:
grep ^a +文件://行首,搜索以a开头的行
grep a$ +文件://行尾,搜索以a结尾的行
6、其他命令
6.1 echo 和 重定向
echo hello xiaobo > 123.txt //表示把hello world内容输出到123.txt中,会覆盖原有命令
echo hello xiaodou >> 123.txt //表示把hello world内容追加到123.txt中,不覆盖原有内容
例如:红框1是把hello world内容输出到123.txt中,覆盖了原有内容。红框2是把ls -lh所查看的内容追加到123.txt中,但是不覆盖原有的hello world内容。红框3是查看123.txt的内容。
例如:接着上面的文件内容,再次把 tree命令追加到123.txt文件中。
6.2 管道 |
作用:linux允许将一个命令的输出通过管道|作为另一个命令的输入。
例如 ls -lha ~ | more //分屏显示 家目录~ 下的文件。
例如 ls -lha ~ | grep nap //查找家目录下的包含nap的文件或目录。
二、远程管理常用命令
目标:学会关机重启、配置网卡信息、远程登录和复制文件等等。
1、关机重启
1.1 shutdown
shutdown //一分钟后关机
shutdown -c //取消关机(远程维护服务器时,一般不关机,只重启)
shutdown -r now //现在重启
shutdown now //现在关机
shutdown +10 //10分钟后关机
shutdown 20:26 //晚上20:26关机
shutdown -s -t 3600 //3600秒(1小时)后关机
2、查看或配置网卡信息
2.1 ifconfig
作用:查看计算机的网卡配置信息
格式:ifconfig | grep inet //把查询的配置信息通过管道|输入给grep查找,只显示包含”inet“的信息。
注:在Linux中物理网卡的名字通常以ensXX表示。
2.2 ping IP地址
作用:检测目标ip地址连接是否正常
ping 192.168.3.132 //举例
注:127.0.0.1被称为本地回环地址,一般用来测试本机网卡是否正常。
3、远程登录和复制文件
3.1 ssh基础(小白的重点)
SSH(Secure Shell)是为远程对话提供安全性的协议。
优点:
1、数据加密,防止信息泄露。
2、数据压缩,以减少数据量,从而提高传输速度。
3.2 域名 和 端口号
1)域名(IP地址的别名,例如www.baidu.com)
举例:ping www.baidu.com 等价于 220.181.112.244(百度的IP地址)
2)端口号
作用:通过端口号可以找到计算机运行的应用程序。
举例:192.168.2.99 : 9090(是ZYNQ的IP和端口号),而80是Web默认端口号,22是SSH服务器默认端口号,可省略。
常见服务端口号列表:
3)linux下SSH简单使用
ssh -p port user@remote(P为小写) 例如:ssh -p 22 yue@127.0.0.6
其中: user是远程机的用户名,如果不指定,默认为当前用户。
remote是远程机的地址,可以为IP(可用ifconfig | grep inet查询) / 域名 / 别名。
port是SSH监听的端口,如果不指定,默认为22。
4)Windows下常用的SSH客户端
Putty:官方下载地址
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html //
Xshell:官方下载地址
https://www.xshellcn.com/xiazai.html //
MobaXterm:压缩包百度云分享
链接:https://pan.baidu.com/s/1RfTJi9p62PuhEUXNH0CbjQ
提取码:2l5s
--来自百度网盘超级会员V3的分享 //
注:exit退出当前用户的登录。
3.3 SSH高级(了解)
有关SSH的配置信息都保存在家目录下的隐藏文件.ssh文件中。
1)免密码登录
步骤:
1、配置公钥:执行ssh-keygen生成密钥,一路回车确认即可。
2、上传公钥到服务器:执行ssh-copy-id -p port user@remote,让远程服务器记住公钥。
非对称加密算法:使用私钥加密的数据,必须使用公钥解密;反之亦然。
例如本地使用私钥加密数据、通过网络发送到服务器、服务器使用公钥对数据进行解密。
2)配置别名(常用)
每次都输入ssh -p port user@remote,这么长当然可以配置别名来替代。
譬如:ssh yue代替ssh -p 22 yue@127.0.0.6,那么在~/.ssh/config中加以下内容保存即可。
Host yue //一个空格,不可随意再加,下面同理
HostName 127.0.0.6
User yue
Port 22
配置config文件后,不光ssh可以简化操作,scp也可使用。
例如:把本地目录下 06.py文件复制到远程机桌面上。
格式:scp命令 + 本机源文件名 + 远程机目标文件夹
scp 06.py yue:Desktop/06.py //复制06.py文件
scp -r ~/Desktop yue:Desktop/practice //复制桌面文件夹到远程机的桌面practice文件夹中
3.4 SCP(远程拷贝文件)熟练掌握
SCP是secure copy,在linux下远程拷贝文件的命令。
①把本地目录下 06.py文件复制到远程机桌面上。
//如果“ : ”后面的路径不是绝对路径,则以用户yue的家目录作为参考路径
scp -P port 06.py yue@127.0.0.6:Desktop/06.py //P为大写
②把远程机家目录下 06.py文件复制到本机桌面上。
scp -P port yue@127.0.0.6:Desktop/06.py 06.py //
③把本地目录下 practice文件夹 复制到远程机桌面上。
scp -r practice yue@127.0.0.6:Desktop //
④把远程机家目录下 practice文件夹 复制到本机桌面上。
scp -r yue@127.0.0.6:Desktop practice //
上述情况是在linux环境下,而在windows下则需要安装Putty软件->使用PSCP命令行工具,或者 安装FileZilla使用FTP进行文件传输。官方下载地址:客户端 - FileZilla中文网
注:使用FTP服务是要更改端口号为21。
四、用户权限相关命令(不常用)
1、用户和权限的基本概念
1.1 基本概念
在linux系统中,用户管理包括用户和组管理。
在linux系统中,用户登陆系统时都必须拥有一个账号,每个账号对资源有不同使用权限。
在linux系统中,可以指定每个用户针对不同的文件或者目录的不同权限。
对文件/目录的权限如下:
1.2 组
为了方便管理用户,提出了组的概念。即给用户分组,按组给予用户权限。
1.3 ls-l命令的扩展
ls-l命令可以查看文件的详细信息。从左到右依次是:
1)权限
第一个字符如果是 - 表示文件,如果是 d 表示目录。拥有者权限就是当前用户权限。
2)硬连接数.
硬连接数 = 有多少种方式访问当前目录/文件
= 绝对路径(只有1个)+ 相对路径(可以多个)
举例:如图位于 桌面的A目录 的硬连接数是多少?
答案:A的硬链接数为3。
解析:路径1:绝对路径 位于家目录时,可以cd Desktop/A到达。
路径2:相对路径1 位于Desktop/A时,可以cd .到达Desktop/A。
路径3:相对路径2 位于Desktop/A/a时,可以cd ..到达Desktop/A。
3)用户名
在linux系统中,用户名一般和组名相同。
4)组名
5)文件大小
6)创建/修改日期
7)名称
1.4 chmod简单使用(重要)
chmod命令可以修改 用户/组 对 文件/目录的权限。
格式:
chmod +rwx filename //加读、写、执行权限
chmod -rwx filename //减读、写、执行权限
sudo chmod 777 filename //加读、写、执行权限
依照下面的表格,权限组合就是对应权限值求和,如下:
7 = 4 + 2 + 1 读写运行权限;
5 = 4 + 1 读和运行权限;
4 = 4 只读权限;
sudo chmod 754 filename // 将filename文件的读写运行权限赋予文件所有者,把读和运行的权限赋予群组用户,把读的权限赋予其他用户
权限 | 权限数值 | 二进制 | 具体作用 |
r | 4 | 00000100 | 读取。当前用户可以读取文件内容,当前用户可以浏览目录。 |
w | 2 | 00000010 | 写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。 |
x | 1 | 00000001 | 执行。当前用户可以执行文件,当前用户可以进入目录。 |
注:对于目录来说,若没有可读权限r,不能使用ls查看命令;若没有可执行权限x,不能使用ls和cd权限;若没有可写权限w,不能使用touch命令创建文件。
1.5 超级用户sudo
Linux系统中,我们常用的linux账户是“标准用户”。标准用户想要安装软件等操作,则需要加sudo命令提高用户权限。
其中,sudo命令表示以root超级用户身份执行命令;root账号常用于系统的维护和管理,对操作系统的所有资源具有访问权限;sudo命令需要输入密码,5分钟之内可以不用重新输入。
2、组管理 终端命令
在实际应用中,可以先设好组再拉组员进来,这样可以减少给每个组员一一设置用户权限。
提示:/etc是专门用来保存系统配置信息的目录。因此组信息保存在/etc/group文件中。
例如:添加组dev操作。
3、用户管理 终端命令
3.1 创建用户/设置密码/删除用户
提示:
1)创建用户/设置密码/删除用户都要加sudo命令。
2)创建用户后,忘记添加-m来指定新用户的家目录,那么最简单的解决方法就是删了重建。
添加新用户操作如下图:
3.2 查看用户信息
3.2.1 命令格式
演示如下图:
3.2.2 passwd文件介绍
/etc/passwd 文件存放的是用户的信息,由 6 个分号组成的 7 个信息,分别是
1. 用户名 python
2. 密码(x,表示是加密的密码)
3. UID(1000 是用户标识)
4. GID(1000 是组标识)
5. 用户全名或本地账户(python)
6. 家目录(/home/python)
7. 登录使用的 Shell,也就是使用的终端命令。Ubuntu 默认是 bash。
4、修改权限 终端命令
后面的内容目前阶段用不到,就先不记录了。
五、修改密码
在安装 Ubuntu 的时候建立的帐户 nb,想把密码改成6,方便输入。
nb@nb-vm:~$ sudo passwd nb
[sudo] password for sai: xxx
输入新的 UNIX 密码: 6
重新输入新的 UNIX 密码: 6
passwd:已成功更新密码注:不适用sudo,会报错密码太短或者太长
六、常用命令
6.1 两个文件对比
命令:使用 gvim 对比:gedit -d file_A file_B。
6.2 以tree形式显示目录
命令:tree -L 3
解释:3代表 3级子目录,只要大于等于想要查看的目录级数,就可以显示全部的目录。
6.3 查找文件和目录
命令1:find ../Library/A* -name "verilog"
解释1:在../Library/A*及其子目录中,查找verilog开头的文件或目录。
命令2:find . -name hello.c
解释2:在当前目录下,查找hello.c文件。
6.4 查找并kill 进程
这个类似于window的任务管理器杀死某个进程。
linux操作方法如下:
Step1:查看自己的进程:
ps -ef | grep id_name;(查看linux进程)
ps -ef | grep id_name | grep svn;(查看svn进程)
其中id_name代表主机名。
Step2:杀进程,kill -9 3086;其中3096代表进程号。
6.5 文件所占空间
(1)查看本地文件大小
du -sh *
(2)查看空间限制
quota
----------------------------------------------------- 一直在学习 ----------------------------------------------------------
更多推荐
所有评论(0)