Ubuntu基本操作命令复习

声明

此次笔记仅为了复习一下linux基本常用命令,大佬请忽略这篇博客

常用linux命令的基本使用

命令 作用 对应英文
ls 查看当前文件夹下的内容 list
pwd 查看当前所在文件夹 print work directory
cd [目录名] 切换文件夹 change directory
touch [文件名] 如果文件不存在,新建文件 touch
mkdir [目录名] 创建目录 make directory
rm [文件名] 删除指定的文件名 remove
clear 清屏 clear

小技巧:

ctrl + shift + = 放大终端窗口的字体显示
ctrl + - 缩小终端窗口的字体显示

–help

command --help

man

man command

使用man时的操作键:

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

终端实用技巧

自动补全

在敲出文件/目录/命令 的前几个字母之后,按下tab键

  1. 如果输出的没有歧义,系统会自动补全
  2. 如果还存在其它 文件/目录/命令,再按一下tab键,系统会提示可能存在的命令
    在这里插入图片描述

曾经使用过的命令

  1. 按 ↑/↓光标键可以在曾经使用过的命令之间来回切换
  2. 如果想要退出选择,并且不想执行当前选中的命令,可以按ctrl + c

linux下文件和目录的特点:

  1. linux文件或者目录名称最长可以有256个字符
  2. .开头的文件为隐藏文件,需要用-a参数才能显示
  3. .代表当前目录
  4. ..代表上一级目录

ls

常用选项:

参数 含义
-a 显示指定目录下所所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合-l 以人性化显示文件大小

在这里插入图片描述
在这里插入图片描述
这里的参数可以合在一起写,也就是说

ls -h -l

ls -hl

表达意思一样

计算机中文件大小的表示方式(科普)

单位 英文 含义
字节 B(Byte) 在计算机中作为一个数字单元,一般为8位二进制数
K(Kibibyte) 1KB=1024B,千字节(1024=210
M(Mebibyte) 1MB=1024KB,百万字节
千兆 G(Gigabyte) 1GB=1024MB,十亿字节,千兆字节
T(Terabyte) 1TB=1024GB,万亿字节,太字节
P(Petabyte) 1PB=1024TB,千万亿字节,拍字节
E(Exabyte) 1EB=1024PB,百亿亿字节,艾字节
Z(Zettabyte) 1ZB=1024EB,十万亿亿字节,泽字节
Y(Yottabyte) 1YB=1024ZB,一亿亿亿字节,尧字节

ls通配符的使用

通配符 含义
* 代表任意个数个字符
? 代表任意一个字符,至少一个
[ ] 表示可以匹配字符组中的任意一个
[abc] 匹配abc中的任意一个
[a-f] 匹配从a到f范围内的任意一个

cd

注意:linux所有的目录和文件名都是大小写敏感的

命令 含义
cd 切换到当前用户的主目录(/home/用户目录)
cd ~ 切换到当前用户的主目录 (/home/用户目录)
cd . 保持在当前目录不变
cd .. 切换到上级目录
cd - 可以在最近两次工作目录来回切换

注意:~表示家目录(/home/用户目录)

touch

创建文件或修改文件时间
如果文件不存在,可以创建一个空白文件
如果文件存在,可以修改文件的末次修改日期

mkdir

创建一个新的目录

选项 含义
-p 可以递归创建目录

新建目录的名称,不能与当前目录中已有的目录或文件同名
(linux同一目录下,文件名和目录名不能相同)

rm

删除文件或目录
使用rm命令要小心,因为文件删除后不能恢复

选项 含义
-f 强制删除,忽略不存在的文件,无需提示
-r 递归地删除目录下的内容,删除文件夹时必须加此参数

rm可以和通配符使用

rm *1.txt
em -r *

切记,不要在根目录下面玩这个,否则系统就没了

rm -rf *

拷贝和移动文件

序号 命令 对应英文 作用
01 tree[目录名] tree 以树状图列出文件目录结构
02 cp 源文件 目标文件 copy 复制文件或者目录
03 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重名名

tree

tree命令可以以树状图列出文件目录结构

选项 含义
-d 只显示目录

cp

cp命令的功能是将给出的文件或目录 复制到另一个文件或目录中,相当于dos下的copy 命令

选项 含义
-f 已经存在的目标文件直接覆盖,不会提示
-i 覆盖文件前提示
-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目录文件必须为一个目录名

cp 源文件路径 复制文件路径
在这里插入图片描述

cp 123.txt ./helloworld.txt

源文件名是123.txt,拷贝后的文件名是helloworld.txt

在这里插入图片描述

cp ../123.txt .

源文件名是123.txt,拷贝后的文件名是123.txt(如果文件名不想发生变化,那么只需要指定目标目录即可),这个文件拷贝是在当前目录下

cp -i ../123.txt .

在这里插入图片描述
接下来如果要覆盖的话,只需输入y,反之n

如果拷贝一个文件夹的话,那么需要带一个-r 的选项,这个选项和rm删除一个文件夹时是一样的

cp -r ../yuancheng  .

在这里插入图片描述

mv

mv 命令可以用来移动文件或目录,也可以给文件或目录重命名

选项 含义
-i 覆盖文件前提示

在这里插入图片描述

 mv  ../yuancheng/01.re  .

利用mv修改文件名

mv 01.re 02.re

在这里插入图片描述

查看文件内容

序号 命令 对应英文 作用
01 cat 文件名 concatenate 查看文件内容,创建文件,文件合并,追加文件内容等功能
02 more 文件名 more 分屏显示文件内容
03 grep 搜索文本文件名 grep 搜索文本文件内容

cat

cat命令可以用来查看文件内容,创建文件,文件合并,追加文件内容等功能
cat会一次显示所有的内容,适合查看内容较少的文本文件

选项 含义
-b 对非空输出行编号
-n 对输出的所有行编号

linux中还有一个nl的命令和cat -b的效果等价
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

more

more命令可以用于分屏显示文件内容,每次只显示一页内容
适合于查看内容较多的文本文件

使用more的操作键

操作键 功能
空格键 显示手册的下一屏
Enter键 一次滚动手册页的一行
b 回滚一屏
f 前滚一屏
/word 搜索word字符

grep

linux系统中grep命令是一种强大的文本搜索工具
grep允许对文本文件进行模式查找,所谓模式查找,又被称为正则表达式,

选项 含义
-n 显示匹配行及行号
-v 显示不包括匹配文本的所有行(相当于求反)
-i 忽略大小写

常用的两种模式查找

参数 含义
^a 行首,搜寻以a 开头的行
ke$ 行尾,搜寻以ke结束的行
grep  main 123.txt

在这里插入图片描述

grep -n main 123.txt

在这里插入图片描述
显示所有不包含main 的行

grep -v main 123.txt

在这里插入图片描述

grep -vn main 123.txt

在这里插入图片描述

 grep -n ^i  123.txt

在这里插入图片描述

grep -n d$  123.txt

在这里插入图片描述

grep -n l$  123.txt

在这里插入图片描述

其他

echo 文字内容

  • echo会在终端中显示参数指定的文字,通常会和重定向联合使用

重定向>和>>

  • linux允许将命令执行结果重定向到一个文件
  • 将本应显示在终端上的内容 输出/追加 到指定文件中

其中

  • >表示输出,会覆盖文件原有的内容
  • >>表示追加,会将内容追加到已有文件的末尾

管道|

  • linux允许将一个命令的输出,可以通过管道作为另一个命令的输入
  • 可以理解为生活中的管子,管子的一头塞东西进去,另一头取出来,这里|的左右分为两端,左端塞东西(读),右端取东西(写)

常用的管道命令有:

  • more:分屏显示内容
  • grep:在命令执行结果的基础上查询指定的文本
echo "hello        world"
touch a.txt
cat a

在这里插入图片描述

ak666@ubuntu:~$ ls -lh > a
ak666@ubuntu:~$ cat a
total 92K
-rw-rw-r-- 1 ak666 ak666  494 Mar 26 01:02 123.txt
-rw-rw-r-- 1 ak666 ak666    0 Mar 26 01:22 a
-rw-rw-r-- 1 ak666 ak666    0 Mar 26 01:20 a.txt
drwxr-xr-x 3 ak666 ak666 4.0K Mar 25 23:40 Desktop
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Documents
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Downloads
-rwxrw-rw- 1 ak666 ak666  37K Dec 13  2018 easyCpp
-rw-r--r-- 1 ak666 ak666 8.8K Oct 10 07:09 examples.desktop
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Music
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Pictures
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Public
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Templates
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Videos
drwxr-xr-x 9 ak666 ak666 4.0K Oct  1  2019 vmware-tools-distrib
ak666@ubuntu:~$ ls -lh >>a
ak666@ubuntu:~$ cat a
total 92K
-rw-rw-r-- 1 ak666 ak666  494 Mar 26 01:02 123.txt
-rw-rw-r-- 1 ak666 ak666    0 Mar 26 01:22 a
-rw-rw-r-- 1 ak666 ak666    0 Mar 26 01:20 a.txt
drwxr-xr-x 3 ak666 ak666 4.0K Mar 25 23:40 Desktop
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Documents
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Downloads
-rwxrw-rw- 1 ak666 ak666  37K Dec 13  2018 easyCpp
-rw-r--r-- 1 ak666 ak666 8.8K Oct 10 07:09 examples.desktop
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Music
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Pictures
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Public
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Templates
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Videos
drwxr-xr-x 9 ak666 ak666 4.0K Oct  1  2019 vmware-tools-distrib
total 96K
-rw-rw-r-- 1 ak666 ak666  494 Mar 26 01:02 123.txt
-rw-rw-r-- 1 ak666 ak666  741 Mar 26 01:22 a
-rw-rw-r-- 1 ak666 ak666    0 Mar 26 01:20 a.txt
drwxr-xr-x 3 ak666 ak666 4.0K Mar 25 23:40 Desktop
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Documents
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Downloads
-rwxrw-rw- 1 ak666 ak666  37K Dec 13  2018 easyCpp
-rw-r--r-- 1 ak666 ak666 8.8K Oct 10 07:09 examples.desktop
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Music
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Pictures
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Public
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Templates
drwxr-xr-x 2 ak666 ak666 4.0K Oct 10 07:31 Videos
drwxr-xr-x 9 ak666 ak666 4.0K Oct  1  2019 vmware-tools-distrib

注意

echo命令可以用来创建文件,并且在创建文件时,就可以指定文件的内容;而touch只能创建一个空文件

ak666@ubuntu:~$ rm a
ak666@ubuntu:~$ echo hello > a
ak666@ubuntu:~$ cat a
hello

在这里插入图片描述

ls -lha ~

在这里插入图片描述

ls -lha ~|more

在这里插入图片描述

ls -lha ~|grep do

在这里插入图片描述

远程管理常用命令

关机重启

shutdown

shutdown命令可以安全关闭或者重新启动系统

选项 含义
-r 重新启动

重新启动操作系统,其中now表示现在:

shutdown -r now  

立刻关机,其中now表示现在:

shutdown now

系统在今天的20:25会关机

shutdown 2025

系统再过十分钟后自动关机

shutdown +10

取消之前的关机计划

shutdown -c

注意:

  1. 不指定选项和参数时,默认表示1分钟之后关闭电脑
  2. 远程维护服务器时,最好不要关闭系统,而应该重新启动系统

查看或配置网卡信息

ipconfig
ping

127.0.0.1是本地回环/环回地址,一般用来测试网卡是否正常工作的

远程登录或复制文件

ssh
scp
序号 命令 对应英文 作用
01 ssh 用户@ip secure shell 关机/重新启动
02 scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件

SSH基础(重点)

在linux 中SSH是非常常用的工具,通过SSH客户端我们可以直接连接到运行SSH服务器的远程机器上

  • SSH客户端是一种使用Secure Shell(SSH)协议连接到远程计算机的软件程序
  • SSH是目前可靠,专为远程登录会话和其他网络服务提供安全性的协议
  • 利用SSH协议可以有效防止远程管理过程中的信息泄露
  • 通过SHH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
  • SSH的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
    在这里插入图片描述
    Ubuntu和Mac的操作系统不管是在客户端还是在服务器上,都是默认安装的,只有在Windows操作系统中需要单独安装SSH软件

域名和端口号

域名:

  • 由一串用点分隔的名字组成,例如:www.baidu.com
  • 是ip地址的别名,方便用户记忆

端口号

  1. ip地址:通过ip地址找到网络上的计算机
  2. 端口号:通过端口号可以找到计算机上运行的应用程序
  • SSH服务器的默认端口号是22,如果是默认端口,在连接的时候,可以省略

常见服务端口号列表:

服务 端口号
SSH服务器 22
Web服务器 80
HTTPS 443
FTP服务器 21

SSH客户端的简单使用

ssh [-p port] user@remote
  • user是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote是远程机器的地址,可以是ip/域名,或者是后面会提到的别名
  • port是SSH Server监听的端口,如果不指定,就为默认值22

提示:

  • 使用exit退出当前用户的登录

注意:

  • ssh这个终端命令只能在linux或者unix系统下使用
  • 如果在Windows系统中,可以安装PuTTY或者XShell客户端软件即可

提示:

  • 在工作中,SSH服务器的端口号很可能不是22,如果遇到这种情况就需要使用-p选项,指定正确的端口号,否则无法正常连接到服务器

SSH连接实际操作过程

物理机Windows系统下使用SSH连接虚拟机Ubuntu

SCP(掌握)

  • scp就是secure copy,在linux下用来远程拷贝文件的命令
  • 它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的-P而不是小写的

把本地当前目录下的01.py文件 复制到远程 家目录下的 Desktop/01.py
注意:‘:’后面的路径如果不是绝对路径,则以用户的家目录作为参照路径

scp -P port 01.py user@remote:Desktop/01.py

把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下 的 01.py

scp -P port user@remote:Desktop/01.py 01.py 

加上-r选项可以传送文件夹
把当前目录下的demo文件夹复制到 远程 家目录 下的Desktop

scp -r demo user@remote:Desktop

把远程 家目录下的Desktop 复制到 当前目录下的demo文件夹

scp -r user@remote:Desktop demo 

在这里插入图片描述

选项 含义
-r 若给出的源文件是目录文件,则scp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
-P 若远程SSH服务器端口号不是22,则需要使用大写字母-P选项指定端口

注意:
SSH和SCP的区别就是端口号参数这里,前者是-p,后者是-P

注意

  • scp这个终端命令只能在linux或者unix系统下使用
  • 如果在Windows系统中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输

FileZilla

官方网站:https://www.filezilla.cn/download/client
FileZilla在传输文件时,使用的是FTP服务而不是SSH服务,因此端口号应该设置为21

配置别名:

每次都输入 ssh -p port user@remote,时间久了会麻烦,特别是当user,remote和port都得输入,而且还不好记忆,而配置别名可以让我们近一步偷懒,譬如用:ssh 别名 代替上面的一长串,那么就在~/.ssh/config (config文件需要自己创建)里面追加以下内容:

Host 别名
	HostName ip地址
	USer  用户名
	Port 端口(一般为22

保存之后,既可以用ssh 别名实现远程登录,scp同样可以使用

scp实现文件夹拷贝

scp -r 用户端所需要拷贝的文件夹 别名:服务端文件存放地址

举个例子

scp -r ~/Desktop  myserver:Desktop/demo

用户端Desktop文件夹拷贝到远程服务器的demo文件夹下

ls -l扩展

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

  • 权限,第一个字符如果是d表示目录,紧接着就是权限(拥有者权限,组权限,其它用户权限,RWX)
  • 硬链接数,通俗地讲,就是有多少种方式可以访问到当前目录/文件(文件的硬链接数一般是1,而目录的硬链接数取决于它有多少个子目录)
  • 拥有者,家目录下 文件/目录的拥有者通常都是当前用户
  • 组,linux中,很多时候,会出现组名和用户名相同的情况
  • 大小
  • 时间
  • 名称

文件权限示例:

目录 拥有者权限 拥有者权限 拥有者权限 组权限 组权限 组权限 其它用户权限 其它用户权限 其它用户权限
- r w x r w x r w x

文件权限示例:

目录 拥有者权限 拥有者权限 拥有者权限 组权限 组权限 组权限 其它用户权限 其它用户权限 其它用户权限
d r w x r w x r w x

注意:如果要有在目录下面执行终端命令,就必须要有可执行权限;对于目录而言,可读权限就是阅读目录内容,可写权限,就是修改目录内容

在这里插入图片描述

超级用户

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

sudo

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

组管理

提示:创建组/删除组的终端命令都需要通过sudo执行

命令 作用
groupadd 组名 添加组
groupdel 组名 删除组
cat /etc/group 确认组信息
chgrp 组名 文件/目录名 修改文件/目录的所属组

提示:

  • 组信息保存在/etc/group中
  • /etc目录是用来专门保存系统配置信息的目录
  • 在实际应用中,可以预先针对组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限

用户管理 终端命令

创建用户/设置密码/删除用户

命令 作用 说明
useradd -m -g 组新建用户名 添加用户名 -m自动建立用户家目录;-g指定用户所在的组,否则会建立一个和同名的组
passwd 用户名 设置用户密码 如果是普通用户,直接用passwd可以修改自己的账户密码
userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
cat /etc/passwd/grep 用户名 确认用户信息 新建用户后,用户信息会保存在/etc/passwd文件中
  • 创建用户时,如果忘记添加-m选项指定新用户的家目录------最简单的方法就是删除用户,重新创建
  • 创建用户时,默认会创建一个和用户组同名的组名
  • 用户信息保存在/etc/passwd文件中

useradd

创建biaobiao用户并且自动建立用户家目录:
在这里插入图片描述
查看家目录:
在这里插入图片描述
设置biaobiao密码:

在这里插入图片描述
远程登录biaobiao试试:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

userdel

在这里插入图片描述

biaobiao@ubuntu:/$ sudo userdel -r biao
[sudo] password for biaobiao: 
userdel: biao mail spool (/var/mail/biao) not found
biaobiao@ubuntu:/$ ls /home
ak666  biaobiao

查看用户信息

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

passwd文件

/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,分别是

  1. 用户名
  2. 密码(x,表示加密的密码)
  3. UID(用户标识)
  4. GID(组标识)
  5. 用户全名或本地账号
  6. 家目录
  7. 登录使用的Shell,就是登录命令之后,使用的终端命令,Ubuntu默认是dash(注意是dash,并非bash)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

usermod

  • usermod可以用来设置用户的主组/附加组和登录shell,命令格式如下:
  • 主组:通常在新建用户时,在etc/passwd 的第4列GID对应的组
  • 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限

提示:设置了用户的附加组之后,需要重新启动才能生效
(注意:主组是新建用户时指定的,新建用户后很少改变它的主组)

修改用户的主组(passwd中的GID):
usermod -g 组 用户名

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

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

在这里插入图片描述

注意:默认使用useradd添加的用户是没有权限使用sudo以root执行命令的,可以使用以下命令,将用户添加到sudo附加组中:
在这里插入图片描述
在这里插入图片描述
新创建的用户,对比下方而言并没有其它附加组
在这里插入图片描述

usermod -G sudo 附加组

在这里插入图片描述
验证:
在这里插入图片描述
然后登录后,再次尝试sudo权限命令
在这里插入图片描述
在这里插入图片描述

把dash改为bash

如下,这就是biaobiao用户的dash界面,
在这里插入图片描述
在这里插入图片描述

更改为bash之后

sudo usermod -s /bin/bash biaobiao

然后重新连接之后:
在这里插入图片描述
在这里插入图片描述
变得和Ubuntu那里的一模一样

which(重要)

提示:

  1. /etc/passwd 是用于保存用户信息的文件
  2. /usr/bin/passwd是用于修改用户密码的程序
ls -l /usr/bin/passwd

在这里插入图片描述

这里的拥有者权限有S位,看成x即可,也就是可执行(可读可写)

-l /etc/passwd

在这里插入图片描述
这里的拥有者权限不可执行(可读可写,也就是为了保存用户信息的)

which命令可以查看执行命令所在位置,如:

$ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 54256 Mar 26  2019 /usr/bin/passwd
ak666@ubuntu /  Sat Mar 27 07:18  forstart
$ls -l /etc/passwd
-rw-r--r-- 1 root root 2835 Mar 27 06:42 /etc/passwd
ak666@ubuntu /  Sat Mar 27 07:20  forstart
$which ls
/bin/ls
ak666@ubuntu /  Sat Mar 27 07:25  forstart
$ls -l /bin/ls
-rwxr-xr-x 1 root root 126584 Mar  2  2017 /bin/ls
ak666@ubuntu /  Sat Mar 27 07:25  forstart
$which useradd
/usr/sbin/useradd
ak666@ubuntu /  Sat Mar 27 07:25  forstart
$ls -l /usr/sbin/useradd
-rwxr-xr-x 1 root root 121568 Mar 26  2019 /usr/sbin/useradd
ak666@ubuntu /  Sat Mar 27 07:25  forstart
$which passwd
/usr/bin/passwd
ak666@ubuntu /  Sat Mar 27 07:26  forstart
$ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 54256 Mar 26  2019 /usr/bin/passwd
ak666@ubuntu /  Sat Mar 27 07:26  forstart

在这里插入图片描述

bin和sbin:

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

注意:
在这里插入图片描述

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

切换用户

命令 作用 说明
su -用户名 切换用户,并且切换目录 可以切换到用户家目录,否则位置保持不变
exit 退出当前登录账户
  • su不接用户名,可以切换到root,但是不推荐使用,因为不安全
  • exit退出,返回之前用户状态;如果是第一个用户的话,那么就会直接退出Shell(如下图:)
    在这里插入图片描述

-号

-的作用证明:(注意这里的- 和用户名之间,需要有空格)
在这里插入图片描述

没有-号

在这里插入图片描述

修改文件权限

命令 作用
chown 修改拥有者
chgrp 修改组
chomd 修改权限

命令格式:
修改文件|目录的拥有者

chown  用户名    文件名|目录名

递归修改文件|目录的组

chgrp -R  组名   文件名|目录名

递归修改文件权限

chomd -R 755 文件名|目录名

chomd 在设置权限时,可以简单地使用三个数字分别对应 拥有者/组和其他用户的权限

(以下命令)直接修改文件|目录的 读|写|执行 权限,但是不能精确到拥有者|组|其他:

chomd +/-rwx  文件名|目录名

系统信息相关命令

时间和日期

命令 作用
date 查看系统时间
cal calendar查看日历,-y选项可以查看一年的日历

在这里插入图片描述

磁盘命令

命令 作用
df -h disk free 显示磁盘剩余空间
du -h [目录] disk usage 显示目录下的文件大小

在这里插入图片描述
du命令
在这里插入图片描述
显示当前目录下的文件大小,最后一个是当前目录下的所有子目录以及文件大小总和

选项说明

参数 含义
-h 以人性化的方式显示文件大小

进程信息

所谓进程,通俗地说就是当前正在执行的一个程序

命令 作用
ps aux process status 查看进程的详细状况
top 动态显示运行中的进程并且排序
kill [-9]进程代号 终止指定代号的进程,-9表示强行终止
  • ps默认只会显示当前用户通过终端启动的应用程序
ps

在这里插入图片描述

ps  a

在这里插入图片描述

ps  au

在这里插入图片描述

top

在这里插入图片描述

ps选项说明功能

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

提示:使用kill命令时,最好只终止由当前用户开启的进程,而不要终止root身份开启的进程,否则可能导致程序崩溃
在这里插入图片描述

  • 要退出top可以直接输入q

其它命令

查看文件

find命令功能非常强大,通常用来在特定的目录下 搜索符合条件的文件

命令 功能
find [路径] -name “*.py” 查找指定路径下扩展名是.py的文件,包括子目录
  • 如果省略路径,则在当前目录下查找
  • 之前学习的通配符,在使用find 命令时可以同时使用

1.搜索桌面目录下,文件名包含1的文件

find -name "*1*"

2.搜索桌面目录下,文件名包含.txt的文件

find -name "*.txt"

3.搜索桌面目录下,以数字1开头的文件

find -name "1*"

软链接

命令 作用
ln -s 被链接的源文件的链接文件 监理文件的软链接,用通俗的方式讲类似Windows下的快捷方式

注意:

  • 没有-s选项建立的是一个硬链接文件
  • 两个文件占用相同大小的硬盘空间,工作中几乎不会建立文件的硬链接
  • 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能正常使用

打包和压缩

打包压缩是日常工作中备份文件的一种方式
在不同操作系统中,常用的打包压缩方式是不同的:

  • Windows常用rar
  • Mac常用zip
  • Linux常用tar.gz

打包/解包

tar是linux最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
tar 的命令格式如下:

  • 打包文件
tar -cvf 打包文件.tar 被打包的文件/路径
  • 解包文件
tar -xvf 打包文件.tar
  • tar选项说明
选项 说明
c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后

注意:f选项必须放在后面,其它选项顺序可以随意

tar -cvf py.tar 123.py 456.py 789.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 20:47  forstart
$touch 123.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 20:47  forstart
$touch 456.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 20:48  forstart
$touch 789.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 20:48  forstart
$tar -cvf py.tar 123.py 456.py 789.py
123.py
456.py
789.py

在这里插入图片描述
在这里插入图片描述

$mv py.tar /home/ak666/Desktop/tar
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 20:52  forstart
$cd tar
ak666@ubuntu /home/ak666/Desktop/tar  Sat Mar 27 20:52  forstart
$tar -xvf py.tar
123.py
456.py
789.py

在这里插入图片描述

压缩/解压缩

gzip
  • tar与gzip命令结合可以使用实现文件 打包和压缩
  • tar只负责打包文件,但不压缩
  • 用gzip压缩tar打包后的问价你,其扩展名一般用xxx.tar.gz
    在linux中,最常见的压缩文件格式就是xxx.tar.gz
  • 在tar命令中有一个选项-z可以调用gzip,从而可以方便实现压缩和解压缩的功能
  • 命令格式如下:
压缩文件:
tar -zxvf 打包文件.tar.gz  被压缩的文件/路径

解压缩文件
tar -zxvf  打包文件.tar.gz

解压缩到指定路径
tar -zxvf 打包文件.tar.gz  -C 目标路径
选项 含义
-C 解压缩到指定目录,注意:要解压缩的目录必须存在
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 21:09  forstart
$tar -zcvf py.tar.gz *.py
123.py
456.py
789.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 21:09  forstart
$tar -cvf py.tar *.py
123.py
456.py
789.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 21:10  forstart
$ls -l
total 16
-rw-rw-r-- 1 ak666 ak666     0 Mar 27 21:09 123.py
-rw-rw-r-- 1 ak666 ak666     0 Mar 27 21:09 456.py
-rw-rw-r-- 1 ak666 ak666     0 Mar 27 21:09 789.py
-rw-rw-r-- 1 ak666 ak666 10240 Mar 27 21:10 py.tar
-rw-rw-r-- 1 ak666 ak666   139 Mar 27 21:09 py.tar.gz

在这里插入图片描述
打包且压缩:

tar -zcvf py.tar.gz *.py

打包:

tar -cvf py.tar *.py
bzip2(two)
  • tar与bzip2命令结合可以使用实现文件 打包和压缩(用法和gzip一样)
  • tar只负责打包文件,但不压缩
  • 用bzip2 压缩tar打包后的文件,其扩展名一般用xxx.tar.bz2
  • 在tar命令中有一个选项-j可以调用bzip2,从而可以方便的实现压缩和解压缩的功能
  • 命令格式如下:
压缩文件:
tar -jcvf 打包文件.tar.bz2 被压缩的文件/路径……

解压缩文件
tar -jxvf 打包文件.tar.bz2

在这里插入图片描述

$tar -jcvf bz2.tar.bz2 *py
123.py
456.py
789.py
ak666@ubuntu /home/ak666/Desktop  Sat Mar 27 21:18  forstart
$ls -l
total 20
-rw-rw-r-- 1 ak666 ak666     0 Mar 27 21:09 123.py
-rw-rw-r-- 1 ak666 ak666     0 Mar 27 21:09 456.py
-rw-rw-r-- 1 ak666 ak666     0 Mar 27 21:09 789.py
-rw-rw-r-- 1 ak666 ak666   145 Mar 27 21:18 bz2.tar.bz2
-rw-rw-r-- 1 ak666 ak666 10240 Mar 27 21:10 py.tar
-rw-rw-r-- 1 ak666 ak666   139 Mar 27 21:09 py.tar.gz

软件安装

通过apt安装/卸载软件

  • apt是Advanced Packageing Tool, 是linux下的一款安装包管理工具
  • 可以在终端中方便的 安装/卸载/更新软件包
安装软件
sudo  apt install 软件包

卸载软件
sudo apt remove 软件包

更新已安装的包
sudo apt upgrade

配置软件源

  • 如果希望在Ubuntu中安装软件,更加快速,可以通过设置镜像源,选择一个访问网速更快的服务器,来提供软件下载/安装服务
  • 提示:更换服务器之后,需要一个相对比较长时间的更新过程,需要耐心等待。更新完成后,再安装软件都会从新设置的服务器下载软件了

所谓镜像源,就是所有服务器的内容是相同的(镜像),但是根据所在位置不同,国内服务器通常速度会更快一些
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CSNN2019/article/details/115229123