您的位置:首页 > 运维架构 > Linux

Linux中目录命令、文件命令、远程管理命令、用户权限命令、用户管理命令、系统信息相关命令、打包压缩命令等

2019-02-21 21:26 976 查看

没有安装操作系统的计算机,通常被称为裸机
如果想要在裸机上运行自己编写的程序,就必须用机器语言编写程序。
如果计算机上安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级开发语言开发程序。

虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

大量的服务器维护工作都是远程通过SSH客户端来完成的,并没有图形界面,所有的维护工作都需要通过Linux命令来完成。

Linux命令格式如下:

command [-options] [parameter]
#命令 [-选项] [参数]

重要命令及选项——帮助手册

  1. man 命令,查阅命令的使用手册
    man ls
    :查阅 ls 命令的使用手册man ls 查阅 ls 命令的使用手册
  2. –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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐