Linux中目录命令、文件命令、远程管理命令、用户权限命令、用户管理命令、系统信息相关命令、打包压缩命令等
没有安装操作系统的计算机,通常被称为裸机。
如果想要在裸机上运行自己编写的程序,就必须用机器语言编写程序。
如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级开发语言开发程序。
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
大量的服务器维护工作都是远程通过SSH客户端来完成的,并没有图形界面,所有的维护工作都需要通过Linux命令来完成。
Linux命令格式如下:
command [-options] [parameter] #命令 [-选项] [参数]
重要命令及选项——帮助手册
- man 命令,查阅命令的使用手册
man ls
:查阅 ls 命令的使用手册man ls 查阅 ls 命令的使用手册 - –help选项,查看命令的帮助信息
ls --help
:查看 ls 命令的帮助信息
Linux中目录相关命令
在Linux中,以 “. ”开头的文件为隐藏文件,需要用 -a 才能显示,“. ”代表当前目录,“. . ”代表上一级目录。
-
ls 命令说明
ls
:查看当前文件夹中的文件及子文件夹
ls -a
:查看文件夹中的所有文件及子文件夹,包括隐藏文件
ls -l
:以列表的方式显示文件的详细信息
ls -h
:配合 -l,即ls -l -h,可人性化的显示文件大小 -
cd 命令说明
cd 是英文单词change directory的简写,其功能为更改当前的工作目录
cd 回车
:切换到当前用户的主目录(home目录)
cd ~
:切换到当前用户的主目录(home目录)
cd .
:保持当前目录不变
cd ..
:切换到上级目录
cd -
:在最近两次工作目录来回切换
相对路径:输入路径时,最前面不是/或者~,表示相对当前目录所在的位置。
绝对路径:输入路径时,前面是/或者~,表示从根目录/家目录开始的具体目录位置
Linux中文件相关命令
-
touch 命令说明
如果文件不存在,可以创建一个空白的文件
如果文件存在,可以修改文件的末次修改日期 -
mkdir 命令说明
mkdir 文件夹名称
:创建一个文件夹
mkdir -p 文件夹/文件夹/文件夹
:以指定的级联文件夹方式同时创建多个文件夹
mkdir -v
:执行命令并打印操作信息
注意:新建的目录名称不能与当前目录已有的目录和文件同名 -
rm 命令说明
rm 文件名称
:删除指定名称的文件
rm -r 文件夹名称
:删除指定名称的多级文件夹
rm -rf 文件夹名称
:删除指定名称的文件夹,如果包含子文件,直接删除。
注意:使用rm命令要小心,因为文件删除后不能恢复 -
tree 命令说明
tree 文件夹名称
:以树状图的格式列出指定的文件夹结构
tree -d
:以树状图的格式列出指定的文件夹结构,只显示文件夹,不显示文件 -
cp 命令说明
cp 源文件 目标文件
:复制源文件到目标文件
cp -i 源文件 目标文件
:复制源文件到目标文件,覆盖文件前会提示
cp -r 源文件夹 目标文件夹
:复制源文件夹到目标文件夹 -
mv 命令说明
mv 源文件 目标文件
:移动文件或目录/文件或目录重命名(目标文件或文件夹中之前的所有数据会被覆盖)
mv -i 源文件 目标文件
:覆盖文件前会提示 -
cat 命令说明
cat 文件名
:cat会一次性显示所有内容,适用于查看内容较少的文本文件
cat -b 文件名
:对非空输出行编号
cat -n 文件名
:对输出所有行编号 -
more 命令说明
more 文件名
:more会分屏显示文件内容,每次只显示一页内容,适用于查看内容较多的文本文件。按空格键,向下翻页查看内容;按CTRL+b组合键,向上翻页查看内容;按q键退出查看。 -
grep 命令说明
grep 搜索的东西 文件名
:搜索文本文件内容
grep -n 搜索的东西 文件名
:搜索文本文件内容,并显示匹配行及行号
grep -v 搜索的东西 文件名
:显示不匹配文本的所有行
grep -i 搜索的东西 文件名
:搜索文本文件内容,并忽略大小写
grep ^a 文件名
:在指定文件中搜索以a开头的行
grep ke$ 文件名
:在指定文件中搜索以ke结尾的行 -
echo 命令说明
echo 文字内容
:在终端中显示参数指定的文字内容,通常会和重定向联合使用 -
重定向>和>>
linux允许将命令执行结果重定向到一个文件夹,将本应显示在终端上的内容 输出/追加 到指定文件中
> 表示输出,覆盖文件原有的内容
**>>**表示追加,将内容追加到文件末尾
echo 文字内容 > 文件名
:把文字内容输出到指定文件中,如果文件中若存在其他内容,将会被覆盖
echo 文字内容 >>文件名
:把文字内容追加到指定文件中 -
管道 |
Linux允许将一个命令的输出可以通过管道 作为 另一个命令的输入。第二个命令会对第一个命令执行后的结果进行二次处理
常用的管道命令:more,grep
关机/重启
shutdown 选项 时间:关机/重新启动
注意:不选定选项和参数,默认表示1分钟后关闭电脑
远程维护服务器时,最好不要关闭系统,而应该重启系统
shutdown -r now:现在重启系统
shutdown 22:00:22:00时自动关机
shutdown +10:系统10分钟后自动关机
shutdown -c:取消之前的关机计划
查看或配置网卡信息
ifconfig:查看/配置计算机当前的网卡配置信息
ping ip地址:检测到目标IP地址的连接是否正常
网卡是一个专门负责网络通讯的硬件设备
IP地址是设置在网卡上的地址信息
每台联网的电脑都有IP地址,是保证电脑之间正常通讯的重要设置
127.0.0.1被称为本地回环/环回地址,一般测试本机网卡是否正常
ping 127.0.0.1检测本地网卡工作正常
ping一般用于检测当前计算机与目标计算机之间的网络是否通畅,数值越大,速度越慢
远程登陆和复制文件
ssh
在Linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上
SSH客户端是一种使用SSH协议连接到远程计算机的软件程序。
SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议
优点1、利用SSH协议可以有效防止远程管理过程中的信息泄露,SSH协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
优点2、SSH协议传输的数据是经过压缩的,所以可以加快传输速度
域名其实就是IP地址的别名,由一串用点分隔的名字组成。如www.baidu.com
IP地址:通过IP地址可以找到网络上的计算机
端口号:通过端口号可以找到计算机上运行的应用程序。
SSH服务器的默认端口号22,如果要访问的是默认端口,在连接的时候可以省略端口号的输入。
SSH客户端的简单使用:
ssh [-p port] user@remote #user是在远程机器上的用户名,如果不指定的话,默认当前用户 #remote是远程机器的地址,可以是IP地址、域名或其他别名 #port是SSH Server监听的端口号,如果不指定,默认值22
scp
scp是一个在Linux下用来进行远程拷贝文件的命令
scp的地址格式与ssh基本相同,但是,在指定端口时用的是大写的-P
#把本地当前目录下的 01.py 文件,复制到 远程 家目录下的 Desktop/01.py scp -P 22 01.py user@remote:Desktop/01.py #把 远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录写的 01.py scp -P 22 user@remote:Desktop/01.py 01.py #加上-r选项可以传送文件夹 #把本地当前目录下的 demo 文件夹,复制到 远程 家目录下的 Desktop文件夹 scp -P 22 -r demo user@remote:Desktop #把 远程 家目录下的 Desktop 文件夹 复制到 本地当前目录的 demo文件夹 scp -P 22 -r user@remote:Desktop demo
SSH高级
有关SSH配置信息都保存在用户家目录下的.ssh文件夹中
1、配置公钥:
执行
ssh-keygen即可生成SSH钥匙,一路回车即可。
2、上传公钥到服务器:
执行
ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
用户权限命令
-
chomd简单使用
chmod可以修改 用户/组 对 文件/目录的权限
格式如下:chmod +/-rwx 文件名 /文件夹名
r:read,可读权限
w:write,可写权限
x:可执行权限
+:增加权限
-:减少权限
** -
组管理终端命令
创建组/删除组的终端命令都需要通过sudo执行
groupadd 组名
:添加组
groupdel 组名
:删除组
cat /etc/group
:确认组信息
chgrp -R 组名 文件/文件夹名
:修改文件/文件夹的所属组
提示:组信息保存在 /etc/group 文件中
/etc目录专门用来保存系统配置信息的目录
用户管理命令
提示:创建 用户/删除用户/修改其他用户密码 的终端命令都需要通过sudo执行
- 创建用户/设置密码/删除用户
useradd -m -g 组 新建用户名
:添加新用户。-m自动建立用户家目录,-g指定用户所在的组,否则会建立一个和用户同名的组。
passwd 用户名
:设置用户密码。普通用户直接用passwd可以修改自己的账户密码
userdel -r 用户名
:删除用户。-r选项会自动删除用户家目录。
cat /etc/passwd | grep 用户名
:确认用户信息。新建用户后,用户信息会保存在/etc/passwd文件中
提示:创建用户时,如果忘记添加 -m 选项指定新用户的家目录,最好删除用户,重新创建
使用useradd添加的的用户是没有权限使用sudo命令的,可以使用以下命令,将用户添加到sudo附加组中
usermod -G sudo 用户名
-
查看用户信息
id 用户名
:查看用户UID(用户代号)和GID(组代号)信息
who
:查看当前所有用户的用户列表
whoami
:查看当前登陆用户的帐户名 -
usermod
usermod可以用来设置 用户 的 主组/附加组 和 登录shell
主组:通常在新建用户时指定,在etc/passwd的第四列GID对应的组
附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限
提示:设置了用户的附加组之后,需要重新登录才能生效
#修改用户的主组 usermod -g 组 用户名 #修改用户的附加组 usermod -G 组 用户名 #修改用户登录的Shell usermod -s /bin/bash 用户名
登录使用的Shell,就是登录以后,使用的终端命令,ubuntu默认dash,dash在 xshell 中使用并不方便,所以要修改用户登录的shell
-
which
which命令可以查看执行命令所在的位置
在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)超级用户的一些管理程序 -
切换用户
su - 用户名
:切换用户,并且切换目录。-可以切换到用户家目录,否则保持位置不变。不加用户名,可直接登录到超级用户上
exit:退出当前登录用户 -
修改文件权限
#递归修改文件权限 chmod -R 755 文件名/文件夹名 #修改文件/文件夹的拥有者 chown 用户名 文件名/文件夹名 #递归修改文件/文件夹的组 chgrp -R 组名 文件名/文件夹名
chmod 在设置权限时,可以简单地使用三个数字对应拥有者、组和其他用户的权限。r = 4,w = 2,x = 1
系统信息相关命令
-
时间与日期
date
:查看系统时间
cal
:查看当月日历,-y选项可以查看一年日历 -
磁盘和文件夹空间
df -h
:显示磁盘剩余空间
du -h[文件夹名]
:显示文件夹下的文件大小
-h可以以人性化的方式显示文件大小 -
进程信息
进程就是当前正在执行的一个程序
ps aux
:查看进程的详细情况。ps:默认只会显示当前用户通过终端启动的应用程序。a:显示终端上的所有进程,包括其他用户的进程。u:显示进程的详细状态。u:显示没有控制终端的进程。
top
:动态显示运行中的进程并且排序。退出top直接输入q
kill [-9] 进程代号
:终止指定代号(PID)的进程,-9表示强行终止。不要终止以root身分开始的进程,否则可能会导致系统崩溃。
查找文件
find命令用来在特定的目录下搜索符合条件的文件。
find [路径] -name "*.py":查找指定路径下扩展名是.py的文件,包括子目录。
如果省略路径,表示在当前文件夹下找
软链接
ln -s 被链接的源文件 链接文件:建立文件软链接,用通俗的方式讲类似于Windows下的快捷方式。
注意:没有 -s 选项建立出来的是一个硬链接文件。源文件要使用绝对路径,不能使用相对路径。方便以后移动链接文件后,仍然能够正常使用。
一旦链接的源文件被删除,软链接文件将会失效,而硬链接依然可以正常运行
打包和压缩
tar命令可以把一系列文件打包到一个大文件中,也可以把打包的大文件恢复成一系列文件。
#打包文件 tar -cvf 打包文件.tar 被打包文件/路径... #解包文件 tar -xvf 打包文件.tar
c:生成档案文件,创建打包文件
x:解开档案文件
v:列出归档解档的详细过程,显示进度
f:指定档案名称,f后面一定是.tar文件,所以必须放到选项最后
tar只负责打包文件,但不压缩。用gzip压缩tar打包后的文件,其扩展名一般为xxx.tar.gz
tar命令中有一个选项-z可以调用gzip,从而可以方便实现压缩和解压缩的功能。
#压缩文件 tar -zcvf 打包文件.tar.gz 被压缩到的文件/路径... #解压缩文件 tar -zxvf 打包文件.tar.gz #解压缩到指定路径 tar -zxvf 打包文件.tar.gz -C 目标路径
-C:解压缩到指定目录,注意:要解压的目录必须存在
tar和bzip2命令结合后可以实现文件的打包和压缩(用法和gzip一样)。用bzip2压缩tar打包后的文件,其扩展名一般为xxx.tar.bz2。
在tar命令下有一个选项 -j 可以调用bzip2,从而可以方便实现压缩和解压缩的功能。
#压缩文件 tar -jcvf 打包文件.tar.bz2 被解压的文件/路径 #解压缩文件 tar -jxvf 打包文件.tar.bz2
软件安装
apt-get 是Advanced Packaging Tool,是Linux下的一款安装包管理工具,可以在终端中方便的安装/卸载/更新安装包
#安装软件 sudo apt install 软件包 #卸载软件 sudo apt remove 软件包 #更新已安装的包 sudo apt upgrade
- UNIX文件目录管理基本命令之who登录当前系统用户信息
- Linux系统中vim、find、bash环境变量、文件系统权限及磁盘管理相关命令
- linux(CentOS)下目录档案管理以及档案文件系统打包压缩
- Linux系统管理命令: 管理用户和文件权限
- linux之关于文件和目录管理的相关命令
- linux磁盘与文件系统管理相关命令
- Linux文件、目录管理权限命令--setfacl与getfacl
- CentOS(十)--与Linux文件和目录管理相关的一些重要命令②
- Day 3 Linux(目录篇 、文件操作篇 、压缩解压相关命令, 编辑器vi 、编译器gcc 、调试器gdb、 makefile工程管理器初学)
- Linux磁盘及文件系统管理 5---- Linux文件与文件系统的压缩与打包
- linux文件管理类命令,类型,用户的权限管理及bash shell的特性:命令别名,文件名通配
- linux根-文件系统-目录管理-文件管理-用户及权限详解-用户组-用户管理-权限管理
- 04 Linux系统管理—(管理用户和文件权限)
- Linux文件权限命令:用户管理 useradd,userdel,usermod,passwd,chpasswd,chsh, chfn,chage
- [linux学习笔记]第2天:时间管理,命令帮助信息,文本查看,权限及用户管理,BASH和变量,脚本
- Linux 文件与目录管理+用户管理命令(详解+练习)
- Linux学习之CentOS(十八)--与Linux文件和目录管理相关的一些重要命令②
- 解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
- linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包
- Linux命令学习4—档案与文件系统的压缩与打包