Linux命令的基本使用

1.常用命令

终端命令格式 :command [-option] [parameter]

option和parameter是可选项,带中括号的命令表示可省,option用来对命令进行控制,parameter是传给命令的参数。

命令对应英文作用
lslist查看当前文件夹下的内容
pwdprint work directory查看当前位置路径
cd [目录名]change directory进入目录
touch [文件名]touch新建文件
mkdir [文件夹名]make directory新建文件夹
rm [文件名]remove删除文件
clearclear清屏

小技巧:

CTRL + 放大终端字体显示

CTRL - 缩小终端字体显示

Tab 自动补全

CTRL+C 停止终端

↑ ↓ 查看使用过的命令

2.查阅命令帮助信息

command --help

man command

来源manual:手册

使用man的操作键:

操作键功能
空格键显示手册的下一屏
Enter页面向后滚动一行
b往回滚动一屏
f往前滚动一屏
q退出
/word搜索word字符串

3.目录的相关命令

cd命令:

命令含义
cd切换到当前用户的主目录(/home/用户名)
cd ~切换到当前用户的主目录(/home/用户名)
cd .保持当前目录不变
cd …切换到当前目录的父目录
cd -来回切换最近两次工作目录
切换根目录

ls命令选项

option功能
-a显示隐藏文件
-l显示文件的详细信息
-h与-l搭配显示文件大小

ls通配符的使用

通配符含义
*代表任意个数的字符串
代表任意一个字符
[abc]代表可以匹配字符串abc中的任意一个字符
[a-f]代表可以匹配a到f中的任意一个字符

4.文件的相关命令

4.1 touch命令

touch 文件名

如果文件不存在会新建文件

如果文件存在则会修改文件的最后修改时间

4.2 mkdir命令

mkdir -p a/b/c/d

递归创建文件夹

4.3 rm命令

rm -f

强制删除,忽略不存在的文件,没有提示。

rm -r

递归删除目录下的内容,删除文件夹时必须加-r

*注:*rm也可以使用通配符

4.4 tree命令

tree [-d][目录名]

以树状图列出当前目录下的文件和目录,参数-d表示只列出目录,目录名缺省表示当前文件夹

4.5 cp命令

cp /a/b/文件名1 c/d[文件名2]

将a/b/文件1复制到c/d,命名为文件2,文件名2缺省则保持不变

cp -i

覆盖文件前提示

cp -r

复制目录及目录下的子目录和文件,对象必须为文件夹

4.6 mv命令

mv /a/b/文件名1 c/d[文件名2]

mv 文件夹a 文件夹b

实现文件或者目录的移动,目标文件名缺省则保持不变,在相同路径下移动即重命名

mv -i

覆盖文件前提示

4.7 cat、more命令

cat 文件名 (concatenate) 查看文件内容,创建文件、文件合并、追加文件内容等功能。一次显示所有内容,适合内容较少的文本文件。

cat -b 对非空格行编号并输出行号,等价与linux中的nl命令。

cat -n 每行都参与编号并输出行号。

more 文件名 分屏显示文件内容,适用于查看内容较多的文本。

下方的操作键与man命令的功能一样。

操作键功能
空格键显示页面的下一屏
Enter页面向后滚动一行
b往回滚动一屏
f往前滚动一屏
q退出
/word搜索word字符串

4.8 grep

grep 对文本文件进行模式查找(正则表达式)

选项功能
-n显示匹配行及其行号
-v显示不包含匹配文本的所有行
-i忽略大小写
^text查找以text为行首
text$查找以text为行尾

4.9 >和>>重定向命令

echo 参数 将参数在终端显示

> 文件名 将命令的执行结果重定向到一个文件中,文件不存在则新建,存在则覆盖。

>> 文件名 将命令的执行结果重定向追加到一个文件中

4.10 | 管道命令

命令1 | 命令2 将一个命令1的输出作为另一个命令的输入,即对命令1输出的内容执行命令2.

5.远程管理的相关命令

5.1 关机/重启

shutdown [选项] [时间]

选项缺省表示关机,时间缺省默认1分钟

shutdown -r now

-r表示重启,now表示现在

shutdown +10

10分钟后关机

shutdown 20:00

今天20点关机

shutdown -c

取消之前关机/重启命令

5.2 查看和配置网卡信息

ifconfig

查看当前网卡配置信息

ping 目标ip地址

检测当前电脑与目标ip地址的电脑连接是否正常,ping 127.0.0.1表示测试本机网卡连接是否正常。

**检测原理:**本机发送数据包给目标机器,目标机器收到后返回一个数据包,根据是否收到数据包以及用时,即刻判断检测成功及传输速度

5.3 远程登录和复制文件

**域名:**ip地址的别名,便于记忆。

**端口:**通过端口访问计算机上运行的应用程序。

ssh服务器默认端口为22

web服务器默认端口80

ftp服务器默认端口21

https默认端口443

ssh客户端的简单使用:

ssh [-p port] user@remote

port表示端口号,缺省为22。

user表示远程机器上用户名。

remote表示远程机器的域名/IP地址/别名

注:使用exit命令可以退出当前用户登录,ssh这个命令只能再Linux和Unix系统下使用,在windows下需通过puTTY或者XShell客户端软件

scp命令说明

scp [-P port] 本地当前目录源文件1 user@remote:相对路径/目标文件1

scp [-P port] user@remote:相对路径/源文件 本地目录下的文件

这里的相对路径是相对user用户home目录,也可为绝对路径。port缺省为22,与ssh不同的是这里的-P是大写。

scp [-P port] -r demo user@remote:Desktop

加上参数-r可以复制文件夹,将demo文件夹复制到Desktop文件夹下。

注意:scp在windows终端中不可用,一般windows安装Filezilia通过FTP服务器传输

5.4 ssh高级设置

Linux的home/下的隐藏文件.ssh,用来保存ssh的远程登录的配置信息文件

1)设置ssh远程免密登录

配置公钥

执行ssh-keygen即可生成ssh钥匙,一路回车即可。

上次公钥到服务器

执行ssh-copy-id -p port user@remote可以让远程服务器记住我们的公钥

2)免密登录原理

ssh客户端执行ssh-keygen在.ssh目录下会生成id_ rsa.pub(公钥文件)和id_rsa(私钥文件)

并把公钥文件传输到ssh服务器命名为authorized_keys。在传输过程中,本地使用私钥对数据进行加密/解密,服务器使用公钥对数据进行加密/解密。 传输过程实现了加密解密所以就不需要再输入密码。

非对称加密算法

  • 使用公钥加密的数据,需要使用私钥解密
  • 使用私钥加密的数据,需要使用公钥解密

**3)配置别名 **

在本地客户端的.ssh文件夹下新建config配置文件,并且键入和保存 以下信息:

Host 别名
	HostName 远程ip地址
	User 远程用户名
	Port 22(端口号)

配置后就可以直接使用ssh 别名登录到远程服务器上,别名相当于-P port user@remote

6. 用户用户组相关命令

6.1 文件权限

1)不同用户对文件和目录有着不同的权限

权限英文缩写数字代号
readr4
writew2
执行excutex1

不同的用户可以组成一个用户组,便于管理,设置权限。

2)使用ls -l时输出说明

使用ls -l查看文件夹下的详细信息,从左到右依次是:

  • 权限:第1个字符如果是d表示目录,其它9个字符在下方表格列出
  • 硬链接数:通俗的讲就是有多少种方式可以访问到当前目录/文件,绝对路径和相对路径*(cd . cd …)*
  • 拥有者:家目录下的文件/目录拥有者通常是当前用户
  • :linux中,很多适合会出现用户组和用户名相同的情况。
  • 大小
  • 时间
  • 名称
目录/文件拥有者权限组权限其它用户权限
d (目录权限示例)r w -r w -r - -
- (文件权限示例)r w xr w xr - x

注:目录的可执行权限x表示可以在改目录下执行终端命令

3)使用chmod简单修改权限

chmod +/- rwx 文件名/目录名

(change mode)修改用户/用户组对文件/目录的权限,rwx可分开设置。

在5.7中有更全面的权限修改说明

4)超级用户

  • Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有所有的访问权限。
  • 在大多数版本的Linux中都不推荐直接使用root账号登录系统
  • 在Linux安装过程中,系统会自动创建一个默认用户账号,称为“标准用户”

sudo

  • su是substitute user的缩写,表示使用另一个用户的身份
  • sudo表示以其它身份来执行命令,预设的身份为root
  • 用户使用sudo时必须先输入密码,有效时间为5分钟,超出则需重新输入

若未经授权的用户企图使用sudo,则会发出警告邮件给管理员

6.2 用户和用户组命令

1)用户组命令

命令作业
groupadd 组名添加组
groupdel 组名删除组
chgrp -R 组名 文件/目录名递归修改文件/目录的所属组
cat /etc/group查看组信息

2)用户命令

命令作用说明
useradd -m -g 属组 用户名添加新用户-m 自动建立用户的家目录 -g指定用户属组,缺省为同名属组
passwd 用户名设置用户密码使用的是user/bin/passwd程序修改用户密码
userdel -r 用户名删除用户-r 选项会自动删除用户家目录
cat /etc/passwd查看用户信息/etc/passwd是文本文件,用于保存用户信息

3)查看用户信息

命令作用
id [用户名]查看用户的UID和GID信息,缺省为当前用户
who查看当前所有登录的用户列表
whoami查看当前登录用户的账户名

4)passwd文件

etc/passwd文件用于存放用户信息,由6个分号分割的7个信息,从左到右分别表示:

  1. 用户名
  2. 用户密码(x,表示加密的密码)
  3. UID(用户标识)
  4. GID(组标识)
  5. 用户全名或本地账号(缺省为用户名)
  6. 家目录
  7. 登录后使用的Shell,Ubuntu默认的是dash

5)usermod命令

  • usermod用来设置用户的主组、附加组和登录Shell。

  • 主组:通常为新建用户时指定,在etc/passwd的GID对应的组

  • 附加组:在etc/group中最后一列表示该组的用户列表,用于指定某些用户具有改组的附加权限

注:设置了附加组后,需要重新登录才能生效

#修改用户的主组
usermod -g 组 用户名

#修改用户的附加组
usermod -G 组 用户名

#修改用户的登录Shell
usermod -s /bin/bash

注:使用useradd添加的用户默认是没有权限使用root身份执行命令的,可以使用以下命令讲用户添加到附加组sudo中

usermod -G sudo 用户名

6)which命令

which 命令名 用于查看执行命令所在的位置,例如

which ls
#输出
#/bin/ls

which passwd
#输出
#/user/bin/passwd

bin和sbin

  • 在Linux中,绝大多可执行文件都保存在/bin/sbin/user/bin/user/sbin
  • /bin( binary)是二进制执行文件目录,主要用于具体应用
  • /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /user/bin(user commands for applications)后期安装的一些软件
  • /user/sbin(super user commands for applications)超级用户的一些管理程序

注:cd这个终端命令是内置在系统内核中,没有独立的文件,因此用which命令无法找到它的位置

7)切换用户

命令作用说明
su -用户名切换用户,并且切换目录- 可以切换到用户家目录,否则保持当前路径不变
exit退出当前登录的用户

注意:su不接用户名可以切换到root超级用户,exit是退出当前用户,返回切换前的上一个用户。

例如:执行su -a su -b su -c exit之后用户名为b

6.3 修改文件权限

命令作用
chown 用户名 文件名/目录名修改拥有者
chgrp -R 组名 文件名/目录名修改属组
chmod -R 777 文件名/目录名修改权限

chmod在设置权限时可以使用三个数字分别对应拥有者、属组和其它用户权限

#若采用直接修改读、写和执行权限,不能景区到拥有者、数组和其它用户的权限
chmod +/-rws 文件名/目录名

#采用三个数分别表示拥有者、属组和其它用户的权限
chmod -R 755 文件名/目录名
1579449992695

对应的权限数字代表如上图,其实本质上是一个0-7的三位二进制数000-111代表rwx

例如:101,其中第一个1表示有r权限,第二个0表示没有w权限,第三个1表示有x权限,101写成10进制为5

例如:111101001每三个写成十进制数,就为751表示拥有者、属组和其它用户的权限为rwx-wx–x

7.查看系统信息相关命令

1)时间和日期

date

查看系统时间

cal

calendar查看日历,-y选项可以查看年历

2)磁盘信息

df [-h]

disk free 显示磁盘剩余空间

du [-h] [目录名]

缺省表示当前目录

-h以人性化的方式显示文件大小

3)进程信息

命令作用
ps auxprocess status 查看进程的详细状况
top动态显示运行中的进程并排序,键入q可退出top命令
kill [-9] 进程代号终止指定代号的进程,-9表示强制终止

ps命令默认只会显示当前用户通过终端启动的应用程序

可安装htop命令代替top,可更直观美观的显示进程

ps选项功能说明:

选项含义
a显示终端上的所有进程,包括其它用户的进程
u显示进程的详细状态
x显示没有控制终端的进程

8.其它命令

8.1 find命令简单使用

find [路径] -name "*.txt"

查找指定路径下扩展名是.txt的文件,包括子目录。

  • 路径缺省表示当前文件夹
  • find命令常与通配符联合使用
  • find还有很多高级的使用

8.2 ln 软链接和硬链接

ln [-s] 被链接的源文件 链接后文件名

  • 带选项-s为建立文件的软链接,类似于windows中的快捷方式,链接使用绝对路径方便链接文件的移动,若使用相对路径,当链接文件移动后链接将失效。
  • 不带-s的为建立文件的硬链接,硬链接相当于文件的另一个名字,Linux中文件名和文件数据是分开存储的,只有所有的文件名都删除后,文件数据才会删除。

在Linux中,只有文件的硬链接数量为0时才会被删除,可使用ls -l查看文件的硬链接数。

文件软硬链接的示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NzddYqPm-1579933553928)(C:\Users\Tsai\AppData\Roaming\Typora\typora-user-images\1579502858015.png)]

8.3 打包压缩命令

1)打包/解包

不同的操作系统常用的打包压缩方式是不同的

  • Windows常用rar
  • Mac常用zip
  • Linux常用tar.gz
# 打包文件
# 被打包文件可使用通配符
tar -cvf 打包后文件名.tar 被打包文件1 被打包文件2 ...

# 解包文件
tar -xvf 解包文件.tar [-C 目标路径路径]
  • tar命令只负责打包和解包,并不复杂压缩
  • -f选项必须放在最后,其它选项可随意
  • -C 后接的目标路径必须存在

tar选项的说明:

选项含义
c生成档案文件,创建打包文件
x解开档案文件
v列出归档解档的详细过程,显示进度
f指定档案文件名称,f后面一定是.tar文件,所有必须放在选项最后

2)压缩/解压缩

Linux中用于解压缩的命令有gzipbzip2,将tar命令与这两个命令相结合可以实现打包和压缩,期中gzip更为常见

只需要在tar命令的选项中加上-z或者-j就可以同时执行gzipbzip2命令

#打包压缩文件
tar -zcvf 打包压缩后的文件名.tar.gz 被压缩文件1 被压缩文件2
tar -jcvf 打包压缩后的文件名.tar.bz2 被压缩文件1 被压缩文件2

#解压缩包
tar -zxvf 被解压文件.tar.gz [-C 目标路径]
tar -jxvf 被解压文件.tar.bz2 [-C 目标路径]

8.4 apt软件安装包管理

apt (Advanced Packaging Tool) 是Linux下的一款安装包管理工具,可以在终端方便的安装/卸载/更新软件包

#安装软件
sudo apt install 软件包名

#卸载软件
sudo apt remove 软件名

#更新已安装软件
sudo apt upgrade

配置软件源

apt命令是从Linux的主服务器中获取软件包并且安装,此服务器位于国外,国内访问速度慢,而国内有许多镜像源可由apt实现同样的功能,例如阿里镜像服务器,清华镜像服务器等,因此可通过修改软件源为国内的镜像源提高访问速度。

镜像源就是所有服务器内容是相同的,但是根据所在位置不同,国内的服务器速度会更快一些。

只需要在tar命令的选项中加上-z或者-j就可以同时执行gzipbzip2命令

#打包压缩文件
tar -zcvf 打包压缩后的文件名.tar.gz 被压缩文件1 被压缩文件2
tar -jcvf 打包压缩后的文件名.tar.bz2 被压缩文件1 被压缩文件2

#解压缩包
tar -zxvf 被解压文件.tar.gz [-C 目标路径]
tar -jxvf 被解压文件.tar.bz2 [-C 目标路径]

8.4 apt软件安装包管理

apt (Advanced Packaging Tool) 是Linux下的一款安装包管理工具,可以在终端方便的安装/卸载/更新软件包

#安装软件
sudo apt install 软件包名

#卸载软件
sudo apt remove 软件名

#更新已安装软件
sudo apt upgrade

配置软件源

apt命令是从Linux的主服务器中获取软件包并且安装,此服务器位于国外,国内访问速度慢,而国内有许多镜像源可由apt实现同样的功能,例如阿里镜像服务器,清华镜像服务器等,因此可通过修改软件源为国内的镜像源提高访问速度。

镜像源就是所有服务器内容是相同的,但是根据所在位置不同,国内的服务器速度会更快一些。

修改软件源可以用gedit打开/etc/apt/sources.list文件,并且修改文件内容为新的软件源地址。也可通过图形化界面在设置里的软件包更新栏配置。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值