linux浅谈

文章目录

  • 基础概念
  • 基本文件
  • 常用命令

基础概念

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
一切都是文件,文件是一切的最终归宿
Linux在企业计算,大数据和科学(联想下超级计算机)世界中独树一帜。主要原因如下:

  1. Linux是免费的。你不需要为使用Linux而付费,你可以自由查看,编辑和分发源代码。当你购买装有Windows或macOS的计算机时,这些操作系统的费用其实已包含在价格中。
  2. Linux是灵活的。Linux被用于许多不同类型的计算机中,包括智能烤面包机和冰箱,其他物联网设备,互联网路由器,Android智能手机等,简直不胜枚举。你现在可以立即在笔记本电脑或台式机上安装Linux,而无需进行任何设置即可启动和运行!这种灵活性之所以成为可能,是因为Linux操作系统被设计为既可以简单地完成一项工作又能使用功能更完善的工具来完成工作。你可以组装一个适用于你的设备并针对你的需求进行过优化的Linux版本。

基本文件

一些敏感文件:
/etc/passwd:记录所有系统上的账号与一般身份使用者以及root相关信息。
linux浅谈_第1张图片
/etc/shadow:记录个人的密码。
linux浅谈_第2张图片
/etcgroup:记录linux所有的群组名称。
文件系统简略图:
linux浅谈_第3张图片

  • / 这是根目录(文件夹),文件系统树(数据结构 )的根

  • /bin 包含二进制文件,系统启动需要的可执行程序

  • /boot 包含机器启动时所需的内核和文件

  • /dev 包含设备节点,与连接到计算机的物理设备一起使用的指令/接口

  • /etc 包含系统范围的配置文件(发音为etsy),大型软件包(如gtk,python,X11)一般也在此处存储配置文件。

  • /home 包含系统用户的目录(每个用户的下载,图片等)

  • /lib 包含启动计算机的核心程序所必需的共享库

  • /lost+found 包含由于系统崩溃或驱动器错误而放错位置的数据

  • /media 包含用于USB,CD和DVD等媒体设备的安装点

  • /mnt 是临时文件系统的挂载点(例如用来安装系统的内容)

  • /opt 包含程序的其他程序包。在我的机器中,Google Chrome和Minecraft Launcher将文件保存在此处。

  • /proc 包含与内核和正在运行的进程有关的文件

  • /tmp 包含在执行程序时可能创建的临时文件

  • /usr 包含一个次要的只读系统树,用于与某些程序共享或用于安装在其他Linux系统上。上面存在许多目录也存在这里,并包含一些其他文件

  • /var 包含随时间变化其大小发生变化的文件,例如日志和备份。

  • /var/log 日志文件。

常用命令

终端目录命令解构:
program_name [–optional flags] [optional arguments]

  • ls 列出指定参数目录中的文件(list),默认参数为当前目录,即.。该**-a标志可以非常方便地查看隐藏文件。-l**会显示当前目录内容的长列表
    linux浅谈_第4张图片

  • cd 将目录更改为你指定的参数(changes directory)。如果不提供任何参数,则默认进入用户目录,你也可以在路径中使用~进行跳转。.和… 分别代表当前目录和父目录,并且也是cd命令的有效的参数。
    cd .

  • pwd 打印你当前所在的目录(print working directory,即打印工作目录)

  • cp 直接在Linux终端上复制文件和文件夹非常容易,有时它可以取代传统的文件管理器。
    要使用cp命令,只需将其与源文件和目标文件一起键入即可:
    cp file_to_copy.txt new_file.txt
    还可以使用递归标志复制整个目录:
    cp -r dir_to_copy/ new_copy_dir/
    请记住,在Linux中,文件夹以正斜杠 (/)结尾

  • rm 您可以使用rm命令删除文件和目录。但在使用时要小心,因为用这种方法恢复删除的文件非常困难(但并非不可能)。
    要删除常规文件,请键入:
    rm file_to_copy.txt
    如果要删除空目录,可以使用递归(-r)标志:
    rm -r dir_to_remove/
    另一方面,要删除包含内容的目录,需要使用force(-f)和recursive标志:
    rm -rf dir_with_content_to_remove/

  • mv 您可以使用mv命令在文件系统中移动(或重命名)文件和目录。
    若要使用此命令,请将其名称与源文件和目标文件一起键入:
    mv source_file destination_folder/
    mv command_list.txt commands/
    要使用绝对路径,请使用:
    mv /home/wbolt/BestMoviesOfAllTime ./
    …where ./是您当前所在的目录。
    您还可以使用mv重命名文件,同时将其保留在同一目录中:
    mv old_file.txt new_named_file.txt

  • mkdir要在shell中创建文件夹,可以使用mkdir命令。只需指定新文件夹的名称,确保它不存在,然后就可以开始了。
    例如,要创建一个保存所有图像的目录,只需键入:
    mkdir images/

  • touch touch命令允许您更新指定文件的访问和修改时间。当然,也可以用来创建新文件。
    要将其修改日期更改为当前时间,我们需要使用-m标志:
    touch -m old_file
    创建新文件:
    touch new_file_name

  • man 它显示任何其他命令的手册页面(只要有)。
    要查看mkdir命令的手册页,请键入:
    man mkdir
    您甚至可以查看 man 命令手册页面:
    man man

  • chmod chmod命令允许您快速更改文件的模式(权限)。它有很多可用的选项。
    文件的基本权限包括:
    r (只读)
    w (写入)
    x (执行)
    chmod最常见的用例之一是使文件可由用户执行。为此,请键入chmod和标志+x,然后键入要修改其权限的文件:
    chmod +x script

  • ps 使用ps,您可以查看当前shell会话正在运行的进程。它打印有关正在运行的程序的有用信息,如进程ID、TTY(电传打字机)、时间和命令名。

  • kill 当一个程序没有响应,并且你不能用任何方法关闭它时,这是很烦人的。幸运的是,kill命令解决了这类问题。
    kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
    常用的信号:
    1 (HUP):重新加载进程。
    9 (KILL):杀死一个进程。
    15 (TERM):正常停止一个进程。

    简单地说,kill向终止它的进程发送一个TERM或kill信号。
    您可以通过输入PID(进程ID)或程序的二进制名称来终止进程:
    kill 533494
    kill firefox
    使用此命令时要小心-使用kill时,可能会意外删除您正在执行的工作。

  • vim vim 是一个免费的开源终端文本编辑器,从90年代开始使用。它允许您使用高效的键绑定编辑纯文本文件。
    vim test.txt

  • ping ping 是用于测试网络连接的最流行的网络终端工具。ping 有很多选项,但在大多数情况下,您将使用它来请求域或IP地址:
    ping google.com
    ping 8.8.8.8

  • history 如果你正在努力记住一个命令,history就会派上用场。此命令显示一个枚举列表,其中包含您过去使用过的命令

  • passwd passwd 允许您更改用户帐户的密码。首先,它会提示您输入当前密码,然后要求您输入新密码并确认。

  • which which命令输出shell命令的完整路径。如果它不能识别给定的命令,它将抛出一个错误。
    which python

  • whoami 该命令(who am I的缩写)显示当前使用的whoami用户名。

  • grep Grep是处理文本文件的最强大的工具之一。它搜索与正则表达式匹配的行并打印它们:
    grep "linux" long.txt
    您可以使用-c标志计算与给定条件匹配的次数:
    grep -c "linux" long.txt
    输出:# 2

  • wc Wc代表“字数计数”,顾名思义,它返回文本文件中的字数:
    wc long.txt
    输出:# 37 207 1000 long.txt
    让我们分析一下此命令的输出:
    37行
    207字
    1000字节大小
    文件名(long.txt)

    如果只需要字数,请使用-w标志:
    wc -w long.txt
    输出:207 long.txt

  • find find命令根据regex表达式在目录层次结构中搜索文件。要使用它,请遵循以下语法:
    find [flags] [path] -name [expression]
    要在当前目录中搜索名为long.txt的文件,请输入以下命令行:
    find ./ -name "long.txt"
    输出:# ./long.txt
    要搜索以.py (Python) 扩展名结尾的文件,可以使用以下命令行:
    find ./ -type f -name "*.py"
    输出: ./get_keys.py ./github_automation.py ./binarysearch.py

  • wget wget(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。
    以下是您如何获取一个Python文件:
    wget https://*********

你可能感兴趣的:(系统,linux)