精华内容
下载资源
问答
  • 暂存区:用来存储对当前已修改过并且作了版本标记的文件,同一段时间内位于暂存区尚未提交的所有文件都属于同一个当前的版本,这些标记使得对应文件被包含下次提交的快照中。这个区域是一个文件,

    Git的三个区

    在这里插入图片描述
    本地库:保存各种文件版本的数据库,可以向这个数据库中拉取各个文件版本或把更新后的文件推入数据库进行记录。这是 Git 用来保存项目的元数据和对象数据库的地方,是 Git 最重要的部分,从其他计算机克隆仓库时,拷贝的就是这里的数据。已经推入到这个数据库中的文件对应的状态是 已提交 (commited) 。


    暂存区:用来存储对当前已修改过并且作了版本标记的文件,在同一段时间内位于暂存区尚未提交的所有文件都属于同一个当前的版本,这些标记使得对应文件被包含在下次提交的快照中。这个区域是一个文件,保存了下次将提交的文件列表信息,一般位于 Git 仓库目录中。在这个区域的文件状态是 已暂存 (staged) 。暂存区提交到本地库的命令为git commit


    工作目录:开发人员写代码的地方,对于已经修改并保存的文件,都会存储在这个区域,等待转移到暂存区并提交。它是对项目的某个版本独立提取出来的内容。那些从 Git 仓库的压缩数据库中提取出来的文件,就是放在这个区域所在的磁盘上供你使用或修改。在这个区域的文件状态是已修改 (modified) 。工作目录提交到暂存区的命令为git add



    初始化本地仓库操作

    1. 创建文件夹
      在这里插入图片描述
    2. 进入文件夹中,右键Git bash here打开Git终端,如果是第一次使用,可以在终端中右键选择options
      编辑终端的字体大小
      在这里插入图片描述
      编辑终端的编码格式
      在这里插入图片描述
      编辑终端的用户名
      在这里插入图片描述
      编辑终端的邮箱
      在这里插入图片描述
      ps:以上操作我都是在桌面下进行的,如果是进行上一步创建的文件夹中打开git终端,会显示如下信息
      在这里插入图片描述
    3. 初始化操作
    git init
    

    在这里插入图片描述
    在文件夹下可以查看到创建了一个.git的文件,需要先设置,才能进行查看
    在这里插入图片描述
    在这里插入图片描述




    Git常用命令

    add命令和commit命令:
    1. 在刚刚创建的本地库中,创建一个.txt文件
      在这里插入图片描述
    2. 将文件提交到暂存区
      执行命令为:git add test.txt
      在这里插入图片描述
    3. 将文件提交到本地库
      执行命令为:git commit -m "(描述提交文件的信息)" test.txt
      在这里插入图片描述
      注意:不放在本地仓库中的文件,git是不进行管理,即使放在本地库的文件,如果不进行add,commit命令,git也不进行管理

    status命令

    用来查看工作区和暂存区的状态,执行命令如下:git status
    如果没有文件在暂存区,会显示如下信息
    在这里插入图片描述
    如果有文件没被git管理,会显示如下信息:(另外再创建一个新的.txt文件,直接执行git status
    在这里插入图片描述
    在这里插入图片描述
    当文件只进行git add操作时,状态如下:
    在这里插入图片描述
    当文件继续执行git commit操作时,状态如下:
    在这里插入图片描述
    如果对test.txt文件进行修改,并查看status
    在这里插入图片描述
    在这里插入图片描述
    重新提交到暂存区,add命令
    在这里插入图片描述
    再提交到本地仓库,commit命令
    在这里插入图片描述

    log命令

    用于显示日志
    在这里插入图片描述
    注意:显示日志的时候,记录过多终端会自动进行分页操作
    下一页:空格
    上一页:键盘b按钮
    退出:键盘q按钮
    到了尾页:会显示END

    拓展:
    展示日志的不同方式:

    1. 优美型 git log --pretty=oneline
      在这里插入图片描述
    2. 简洁型git log --oneline
      在这里插入图片描述
    3. 回退型git reflog
      在显示的结果中,包含信息:HEAD@{数字},此数字的含义是:指针回到当前历史版本需要走多少步
      在这里插入图片描述

    reset命令

    用于前进或者后退历史版本
    只对本地库放生改变,使用--soft参数
    使git的暂存区和本地库同时发生改变,工作区不变,使用--mixed参数
    使git的三个区都同时发生改变,使用--hard参数

    git reset --hard (索引号)
    

    对test.txt进行修改,并提交,插入erha数据
    在这里插入图片描述
    add,commit操作
    在这里插入图片描述
    查看历史版本
    在这里插入图片描述
    回退到最老版本,命令为:git reset --hard 5b3131d
    在这里插入图片描述
    文件只剩下test.txt
    在这里插入图片描述
    前进到二哈的版本,命令为:git reset --hard 4e5eccd
    在这里插入图片描述
    在这里插入图片描述


    删除操作

    现在的文件目录如下:
    在这里插入图片描述
    使用命令删除工作区中test.txt

    rm 文件名
    

    在这里插入图片描述
    将删除操作同步到暂存区:
    在这里插入图片描述
    将删除操作同步到本地库:
    在这里插入图片描述
    查看日志
    在这里插入图片描述

    diff命令

    比对工作区与暂存区的不同,命令如下:git diff (文件名)
    注意:如果不加文件名,会对所有文件进行比较
    该文件夹下目录只有一个new.txt文件,内容为空
    在这里插入图片描述
    在new.txt中插入一行数据,并保存
    在这里插入图片描述
    用命令进行对比
    在这里插入图片描述
    add,commit之后再次修改
    在这里插入图片描述
    再进行对比
    在这里插入图片描述
    如果要比较的是暂存区和本地库
    先把上面的修改添加到暂存区中
    在这里插入图片描述
    查看历史版本
    在这里插入图片描述
    与本地库最新版本进行比较,命令如下:git diff HEAD 文件名
    注意:如果不想与最新版本比较可以把HEAD改为对应的索引号 事例:git diff a12c36b new.txt
    在这里插入图片描述


    参考:Git本地版本管理

    展开全文
  • ubuntu还原初始状态Wouldn’t it be nice to be able to try a new version of Ubuntu while knowing you can return to the previous version if you don’t like it? We’ll show you a tool that allows you to ...
    ubuntu还原初始状态

    ubuntu还原初始状态

    00_lead_image_timeshift

    Wouldn’t it be nice to be able to try a new version of Ubuntu while knowing you can return to the previous version if you don’t like it? We’ll show you a tool that allows you to take a snapshot of your system at any time.

    能够尝试新版本的Ubuntu,同时又知道如果您不喜欢可以返回以前的版本,这不是很好吗? 我们将向您展示一个工具,该工具可让您随时拍摄系统快照。

    TimeShift is a free tool that is similar to the System Restore feature in Windows. It allows you to initially take a snapshot of your system and then to take incremental snapshots at regular intervals. TimeShift protects only system files and settings, not user files such as documents, pictures, and music. You can use a tool like Back In Time to backup your user files.

    TimeShift是一个免费工具,类似于Windows中的“系统还原”功能。 它使您可以首先对系统进行快照,然后定期进行增量快照。 TimeShift仅保护系统文件和设置,不保护用户文件,例如文档,图片和音乐。 您可以使用“ 时光倒流”之类的工具来备份用户文件。

    NOTE: When we say to type something in this article and there are quotes around the text, DO NOT type the quotes, unless we specify otherwise.

    注意:当我们说要在本文中键入某些内容并且文本周围有引号时,请不要键入引号,除非我们另外指定。

    Recently, we showed you how to back up your applications and PPAs using a tool called Aptik, which is included in the same PPA as TimeShift. First, press Ctrl + Alt + T to open a Terminal window. If you haven’t installed Aptik, type the following two commands (separately) at the prompt, pressing Enter after each command, to add the PPA and update it. For more information, see our article about Aptik. Note: you may have to remove the -y switch to get it to work.

    最近,我们向您展示了如何使用称为Aptik的工具备份应用程序和PPA,该工具与TimeShift包含在同一PPA中。 首先,按Ctrl + Alt + T打开“终端”窗口。 如果尚未安装Aptik,请在提示符下分别键入以下两个命令,在每个命令后按Enter,以添加PPA并更新它。 有关更多信息,请参见我们有关Aptik的文章。 注意:您可能必须删除-y开关才能使其正常工作。

    sudo apt-add-repository -y ppa:teejee2008/ppa
    
    sudo apt-get update
    
    sudo apt-add-repository -y ppa:teejee2008/ppa
    
    sudo apt-get update

    If you have installed Aptik, you are ready to install TimeShift and do not need to enter the previous commands. Type the following text at the prompt and press Enter.

    如果您已经安装了Aptik,则可以安装TimeShift,而无需输入以前的命令。 在提示符下键入以下文本,然后按Enter。

    sudo apt-get install timeshift

    sudo apt-get安装时移

    Type your password when prompted and press Enter.

    出现提示时输入密码,然后按Enter。

    01_command_to_install_timeshift

    Once the installation is finished, close the Terminal window by typing “exit” at the prompt and pressing Enter or by clicking the “X” button in the upper-left corner of the window.

    安装完成后,通过在提示符下键入“ exit”并按Enter或单击窗口左上角的“ X”按钮来关闭“终端”窗口。

    02_closing_terminal

    To open TimeShift, click the “Search” button at the top of the Unity Launcher bar.

    要打开TimeShift,请单击Unity Launcher栏顶部的“搜索”按钮。

    03_opening_search

    Type “timeshift” in the search box. Results of the search display as you type. When the icon for TimeShift displays, click on it to open the application.

    在搜索框中输入“ timeshift”。 输入时显示搜索结果。 当显示TimeShift图标时,单击它以打开应用程序。

    04_starting_timeshift

    A dialog box displays asking for your password. Enter your password in the edit box and click “OK.”

    出现一个对话框,要求您输入密码。 在编辑框中输入密码,然后单击“确定”。

    05_entering_password

    The main TimeShift window displays and the system size is estimated. The “Backup Device” drop-down list allows you to select a different drive or partition to be backed up, if you have more than one.

    此时将显示TimeShift主窗口,并估计系统大小。 如果有多个驱动器或分区,则可以使用“备份设备”下拉列表选择要备份的其他驱动器或分区。

    06_estimating_system_size

    The amount of space needed for the snapshot is listed on the bottom status bar. Snapshots are saved on the selected device so be sure you have enough space to store the snapshot. To back up the selected “Backup Device,” click “Backup” on the toolbar.

    快照所需的空间量在底部状态栏上列出。 快照将保存在所选设备上,因此请确保您有足够的空间来存储快照。 要备份所选的“备份设备”,请在工具栏上单击“备份”。

    07_take_a_manual_on_demand_snapshot

    While the snapshot is being created, a “Synching files…” message displays in the bottom status bar.

    创建快照时,底部状态栏中会显示“正在同步文件...”消息。

    08_synching_files

    When the snapshot is finished, it is listed with the date and time and the name and version of the system. The status bar states how much space is free on the system after the snapshot is taken and states when the last snapshot was taken.

    快照完成后,它将列出日期和时间以及系统的名称和版本。 状态栏说明在拍摄快照后系统上有多少可用空间,并说明何时拍摄最后一个快照。

    09_snapshot_created

    Moving the mouse over the “Backup Device” drop-down list shows you the path where the snapshots are saved on the selected device.

    将鼠标移到“备份设备”下拉列表上,可以显示快照在所选设备上的保存路径。

    10_location_of_snapshots_popup

    The “timeshift” directory contains the various snapshots taken using TimeShift, including scheduled snapshots, which we will discuss later in this article.

    “ timeshift”目录包含使用TimeShift拍摄的各种快照,包括计划的快照,我们将在本文后面讨论。

    11_snapshots_directory

    The “snapshots” folder contains snapshots taken manually. We recommend that you copy the folder for your snapshot to a USB flash drive, network drive, or a cloud service, such as Dropbox or Google Drive, in case it gets corrupted or deleted.

    “ snapshots”文件夹包含手动拍摄的快照。 我们建议您将快照文件夹复制到USB闪存驱动器,网络驱动器或Dropbox或Google Drive等云服务,以防其损坏或删除。

    12_snapshot_folder

    You can see what’s in the snapshot by clicking the “Browse” button.

    您可以通过单击“浏览”按钮查看快照中的内容。

    13_clicking_browse

    The snapshot directory is opened in a Files Manager window and the directories and files from your system (no user files) are listed.

    在“文件管理器”窗口中打开快照目录,并列出系统中的目录和文件(无用户文件)。

    14_contents_of_snapshot_folder

    There are various settings you can customize, such as setting up automatic backups and choosing when older snapshots will be automatically removed. To access the settings, click “Settings” on the toolbar.

    您可以自定义各种设置,例如设置自动备份以及选择何时自动删除旧快照。 要访问设置,请单击工具栏上的“设置”。

    15_clicking_settings

    The “Schedule” tab allows you to specify times when snapshots will be performed. Click or slide the ON/OFF slider button to turn on the “Scheduled Snapshots”. Select the check boxes in the “Enable” column to specify the time interval for the snapshots.

    “时间表”选项卡允许您指定执行快照的时间。 单击或滑动“开/关”滑块按钮以打开“计划的快照”。 选中“启用”列中的复选框以指定快照的时间间隔。

    16_settings_schedule

    The “Auto-Remove” tab allows you to automatically remove older snapshots so you don’t run out of space on your hard drive. There is a “Rule” for each type of snapshot. Enter a “Limit” for each type to tell TimeShift to remove snapshots older than the specified limit, including a limit for when free space is less than a certain amount.

    “自动删除”选项卡使您可以自动删除较旧的快照,从而不会耗尽硬盘驱动器上的空间。 每种类型的快照都有一个“规则”。 为每种类型输入一个“限制”,以告诉TimeShift删除早于指定限制的快照,包括当可用空间小于一定量时的限制。

    17_auto_remove_tab

    The “Advanced” tab allows you to exclude specific files, directories, and directory contents from and include specific files and directories in the snapshots.

    “高级”选项卡允许您从快照中排除特定文件,目录和目录内容,并在快照中包括特定文件和目录。

    When you’ve finished customizing the settings, click “Save.”

    完成自定义设置后,请点击“保存”。

    18_advanced_tab

    When you want to restore a snapshot, open TimeShift, select a snapshot and click “Restore.”

    要还原快照时,请打开TimeShift,选择一个快照,然后单击“还原”。

    NOTE: Depending on the state of your system, you might have to install TimeShift again.

    注意:根据系统状态,您可能必须再次安装TimeShift。

    19_clicking_restore

    The “Target” tab on the “Restore” dialog box allows you to specify the device to which you will restore the selected snapshot. Moving the mouse over the device in the list reveals more information about the device for restoring the snapshot. Select the “Device for Restoring Snapshot” and the “Device for Bootloader Installation.”

    “还原”对话框上的“目标”选项卡允许您指定要将所选快照还原到的设备。 将鼠标移到列表中的设备上会显示有关用于还原快照的设备的更多信息。 选择“用于还原快照的设备”和“用于Bootloader安装的设备”。

    20_selecting_snapshot

    Use the “Exclude” tab to select applications for which you want to keep the current settings and not restore the previous settings.

    使用“排除”选项卡选择要保留其当前设置而不恢复其先前设置的应用程序。

    21_exclude_tab_for_restore

    The “Advanced” tab allows you to exclude specific files, directories, and directory contents from and include specific files and directories in the restored system.

    “高级”选项卡允许您从还原的系统中排除特定的文件,目录和目录内容,并包括特定的文件和目录。

    22_exclude_tab_for_restore

    To close TimeShift, click the “X” button in the upper-left corner of the main window.

    要关闭TimeShift,请单击主窗口左上角的“ X”按钮。

    23_closing_timeshift

    TimeShift is a useful tool if you like experimenting with upgrades to your system or if something goes wrong with your system. Just like System Restore in Windows, you can simply restore your system to a previous working state rather than reinstalling your system.

    如果您喜欢尝试对系统进行升级或系统出了问题,则TimeShift是有用的工具。 就像Windows中的系统还原一样,您可以简单地将系统还原到以前的工作状态,而无需重新安装系统。

    翻译自: https://www.howtogeek.com/206491/how-to-restore-your-ubuntu-linux-system-to-its-previous-state/

    ubuntu还原初始状态

    展开全文
  • 按钮初始化不可用

    千次阅读 2007-10-29 21:30:00
    【关键字】按钮初始化不可用 倒计时可用 javascript setTimeout倒计时【正文】实际的使用中,有些按钮是需要默认设置为不可用的,等待一段时间后则设置按钮可用,才可以进行其他的操作。以下为一段测试代码。这里...

    【关键字】按钮初始化不可用 倒计时可用 javascript setTimeout倒计时

    【正文】在实际的使用中,有些按钮是需要默认设置为不可用的,等待一段时间后则设置按钮可用,才可以进行其他的操作。以下为一段测试代码。这里是使用一个测试按钮,点击后才开始倒计时,实际使用中可以将这个函数放到<body οnlοad="enable_button()">或者其他需要触发这个事件的地方。

    <script language="javascript">
        var time=5;
        var timeout=null;
        function enable_button(){
            var bt=document.getElementById("bt");
            if(time>0){
                bt.value="还剩余"+time+"秒";
                bt.disabled="true";
                time=time-1;
                timeout=window.setTimeout(enable_button,1000);    
            }else{
                bt.value="可以点击了";
                bt.disabled="";
             window.clearTimeout(timeout);
            }
        }
    </script>
    <input type=button value="开始" onclick="enable_button()">
    <input type="button" id="bt" value="这个是测试按钮" onclick="alert('123')" disabled="true">

    【程序运行抓图】

     
    展开全文
  • linux中systemctl详细理解及常用命令

    万次阅读 多人点赞 2019-06-28 16:16:52
    systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。 systemd对应的进程管理命令是systemctl 1. systemctl命令兼容了service 即systemctl也...

    一、systemctl理解

    Linux 服务管理两种方式service和systemctl

    systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。

    systemd对应的进程管理命令是systemctl

     

    1. systemctl命令兼容了service

    即systemctl也会去/etc/init.d目录下,查看,执行相关程序

    systemctl redis start
    
    systemctl redis stop
    
    # 开机自启动
    
    systemctl enable redis

    2. systemctl命令管理systemd的资源Unit

    systemd的Unit放在目录/usr/lib/systemd/system(Centos)或/etc/systemd/system(Ubuntu)

     

    主要有四种类型文件.mount,.service,.target,.wants

    .mount文件

    .mount文件定义了一个挂载点,[Mount]节点里配置了What,Where,Type三个数据项

    等同于以下命令:

    mount -t hugetlbfs /dev/hugepages hugetlbfs

     

    .service文件

    .service文件定义了一个服务,分为[Unit],[Service],[Install]三个小节

    [Unit]

    Description:描述,

    After:在network.target,auditd.service启动后才启动

    ConditionPathExists: 执行条件

     

    [Service]

    EnvironmentFile:变量所在文件

    ExecStart: 执行启动脚本

    Restart: fail时重启

     

    [Install]

    Alias:服务别名

    WangtedBy: 多用户模式下需要的

     

     

    .target文件

    .target定义了一些基础的组件,供.service文件调用

     

    .wants文件

    .wants文件定义了要执行的文件集合,每次执行,.wants文件夹里面的文件都会执行

     

    二、常用命令

    1.查看版本号

    systemctl –-version

     

    2.管理服务(unit)

    systemctl 提供了一组子命令来管理单个的 unit,其命令格式为:

    systemctl [command] [unit]

     

    command 主要有:

    start:立刻启动后面接的 unit。

    stop:立刻关闭后面接的 unit。

    restart:立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思。

    reload:不关闭 unit 的情况下,重新载入配置文件,让设置生效。

    enable:设置下次开机时,后面接的 unit 会被启动。

    disable:设置下次开机时,后面接的 unit 不会被启动。

    status:目前后面接的这个 unit 的状态,会列出有没有正在执行、开机时是否启动等信息。

    is-active:目前有没有正在运行中。

    is-enable:开机时有没有默认要启用这个 unit。

    kill :不要被 kill 这个名字吓着了,它其实是向运行 unit 的进程发送信号。

    show:列出 unit 的配置。

    mask:注销 unit,注销后你就无法启动这个 unit 了。

    unmask:取消对 unit 的注销。

     

    我们先通过 etcd.service 来观察服务类型 unit 的基本信息:

    输出内容的第一行是对 unit 的基本描述。

    第二行中的 Loaded 描述操作系统启动时会不会启动这个服务,enabled 表示开机时启动,disabled 表示开机时不启动。而启动该服务的配置文件路径为:/lib/systemd/system/etcd.service。

    第三行 中的 Active 描述服务当前的状态,active (running) 表示服务正在运行中。如果是 inactive (dead) 则表示服务当前没有运行。后面则是服务的启动时间。

    第四行的 Docs 提供了在线文档的地址。

    下面的 Main PID 表示进程的 ID,接下来是任务的数量,占用的内存和 CPU 资源。

    再下面的 Cgroup 描述的是 cgrpup 相关的信息,笔者会在后续的文章中详细的介绍。

    最后是输出的日志信息。

     

    关于 unit 的启动状态,除了 enable 和 disable 之外还有:

    static:这个 unit 不可以自己启动,不过可能会被其它的 enabled 的服务来唤醒。

    mask:这个 unit 无论如何都无法被启动!因为已经被强制注销。可通过 systemctl unmask 改回原来的状态。

     

    关于 unit 的运行状态 Active,除了 active 和 inactive 之外还有:

    active (exited):仅执行一次就正常结束的服务,目前并没有任何程序在系统中执行。举例来说,开机或者是挂载时才会进行一次的 quotaon 功能,就是这种模式! Quotaon 不需要一直执行,只在执行一次之后,就交给文件系统去自行处理。通常用 bash shell 写的小型服务,大多是属于这种类型。

    active (waiting):正在执行当中,不过还再等待其他的事件才能继续处理。举例来说,打印的相关服务就是这种状态。

     

    enable 和 disable 操作

    比如我们为 etcd 服务创建了配置文件 /lib/systemd/system/etcd.service,然后执行 enable 命令:

    systemctl enable etcd.service

    所谓的 enable 就是在 multi-user.target.wants 下面创建了一个链接文件:

    至于为什么会链接到 multi-user.target.wants 目录下,则是由 etcd.server 文件中的配置信息决定的。

     

    查看 unit 的配置

    使用 show 子命令可以查看 unit 的详细配置情况:

     systemctl show etcd.service

     

    注销与反注销 unit

    如果我们想暂时的禁用某个 unit,比如 etcd.service,可以注销这个 unit,注销之后就无法再启动这个服务了:

    systemctl mask etcd.service

    从上图中的输出我们可以看到,所谓的注销就是把 etcd.service 文件链接到 /dev/null 这个空设备中去了。所以就无法再启动该服务了。下面我们尝试执行一次反注销:

    systemctl unmask etcd.service

    unmask 操作就是删除掉 mask 操作中创建的链接。

     

    查看系统上的 unit

    systemctl 提供了子命令可以查看系统上的 unit,命令格式为:

    systemctl [command] [--type=TYPE] [--all]

    command 有:

    list-units:列出当前已经启动的 unit,如果添加 -all 选项会同时列出没有启动的 unit

    list-unit-files:根据 /lib/systemd/system/ 目录内的文件列出所有的 unit

    --type=TYPE:可以过滤某个类型的 unit

    不带任何参数执行 systemctl 命令会列出所有已启动的 unit

     

    列举已经启动的unit

    systemctl list-units (或者直接 sudo systemctl)

    系统默认启动的服务是非常多的,上图只截取了前面几行。下面是对输出的介绍:

    UNIT:项目的名称,包括各个 unit 的类别(看扩展名)

    LOAD:开机时 unit 的配置是否被加载。

    ACTIVE:目前的状态,须与后续的 SUB 搭配!就是我们用 systemctl status 观察时,active的内容。

    DESCRIPTION:描述信息。

    注意,systemctl 不加参数,其实等同于 systemctl list-units

     

    查看系统上一共装了多个unit

    ​​​​​​​systemctl list-unit-files

    结果也非常的多,我们仍然只截取一部分结果。这里的 STATE 就是我们前面介绍的 服务的启动状态,有 enable disablestatic mask

     

    只查看某种类型的unit

    比如我们只查看服务类型的unit

    systemctl list-units --type=service -all

     

    查看加载失败的 unit

    如果发现某个 unit 不工作,可以查看是否有 unit 加载失败:

    ​​​​​​​systemctl --failed

     

    管理不同的操作环境(target unit)

    通过指定 --type=target 就可以用 systemctl list-units 命令查看系统中默认有多少种 target

    我们在此仅介绍几个常用的 target

    graphical.target:就是文字界面再加上图形界面,这个 target 已经包含了下面的 multi-user.target

    multi-user.target:纯文本模式!

    rescue.target:在无法使用 root 登陆的情况下,systemd 在开机时会多加一个额外的临时系统,与你原本的系统无关。这时你可以取得 root 的权限来维护你的系统。

    emergency.target:紧急处理系统的错误,在无法使用 rescue.target 时,可以尝试使用这种模式!

    shutdown.target:就是执行关机。

    getty.target:可以设置 tty 的配置。

    正常的模式是 multi-user.target graphical.target 两个,救援方面的模式主要是 rescue.target 以及更严重的 emergency.target。如果要修改可提供登陆的 tty 数量,则修改 getty.target

     

    下面是操作 target unit 命令的格式:

    systemctl [command] [unit.target]

    command 有:

    get-default:取得目前的 target

    set-default:设置后面接的 target 成为默认的操作模式。

    isolate:切换到后面接的模式。

     

    查看和设置默认的 target

    systemctl get-default

     

    切换 target

    我们还可以在不重新启动的情况下切换不同的 target,比如从图形界面切换到纯文本的模式:

    systemctl isolate multi-user.target

    在一般情况下,使用上述 isolate 的方式即可完成不同 target 的切换。不过为了方便起见,systemd 也提供了

    几个简单的指令用来切换操作模式,大致如下所示:

    sudo systemctl poweroff # 系统关机

    sudo systemctl reboot  # 重新开机

    sudo systemctl suspend  # 进入暂停模式

    sudo systemctl hibernate # 进入休眠模式

    sudo systemctl rescue  # 强制进入救援模式

    sudo systemctl emergency # 强制进入紧急救援模式

    这里简单介绍一下暂停模式与休眠模式的区别

    suspend:暂停模式会将系统的状态保存到内存中,然后关闭掉大部分的系统硬件,当然,并没有实际关机。当用户按下唤醒机器的按钮,系统数据会从内存中回复,然后重新驱动被大部分关闭的硬件,所以唤醒系统的速度比较快。

    hibernate:休眠模式则是将系统状态保存到硬盘当中,保存完毕后,将计算机关机。当用户尝试唤醒系统时,系统会开始正常运行,然后将保存在硬盘中的系统状态恢复回来。因为数据需要从硬盘读取,因此唤醒的速度比较慢(如果你使用的是 SSD 磁盘,唤醒的速度也是非常快的)

     

    检查 unit 之间的依赖性

    很多服务之间是有依赖关系的,systemd 的一大亮点就是可以管理 unit 之间的依赖关系。我们可以通过下面的命令来查看 unit 间的依赖关系:

    systemctl list-dependencies [unit] [--reverse] 选项 --reverse 会反向追踪是谁在使用这个 unit

    下面让我们看看当前运行的 target 的依赖关系:

    我们当前运行在 graphical.target 下,它由一个长长的依赖列表(上图并未展示所有的项目),其中最重要的依赖项目为 multi-user.target。下面我们使用 --reverse 选项查看 multi-user.target unit 被谁使用:

    systemctl list-dependencies multi-user.target --reverse

    从上面两张图上我们可以确定下面的关系:graphical.target 依赖 multi-user.target

    我们这里只是通过 target unit 介绍了如何查看 unit 之间的依赖关系,实际使用中更多的是检查服务 unit 之间的依赖关系。

     

    相关的目录和文件

    在不同的发行版中与 systemd 相关的文件路径可能会不太一样,强调一下,本文介绍的是 ubuntu 16.04

    /lib/systemd/system/ 大多数 unit 的配置文件都放在这个目录下。

    /run/systemd/system/ 系统运行过程中产生的脚本,比如用户相关的脚本和会话相关的脚本。

    /etc/systemd/system/ 这个目录中主要的文件都是指向 /lib/systemd/system/ 目录中的链接文件。

    注意,在我们自己创建 unit 配置文件时,既可以把配置文件放在 /lib/systemd/system/ 目录下,也可以放在 /etc/systemd/system/ 目录下。

     

    /etc/default/ 这个目录中放置很多服务默认的配置文件。

    /var/lib/ 一些会产生数据的服务都会将他的数据写入到 /var/lib/ 目录中,比如 docker 相关的数据文件就放在这个目录下。

    /run/ 这个目录放置了好多服务运行时的临时数据,比如 lock file 以及 PID file 等等。

     

    我们知道 systemd 里管理了很多会用到本机 socket 的服务,所以系统中肯定会产生很多的 socket 文件。那么,这些 socke 文件都存放在哪里呢?我们可以使用 systemctl 进行查看:

    systemctl list-sockets

     

    其实,绝大多数的 socket 文件都存放在 /run 目录及其子目录中。

     

    systemctl daemon-reload 子命令

    daemon-reload 是一个很容易被误用的子命令,主要是因为它名字中包含的 daemon 一词很容易让它和 reload 子命令混淆。

    我们在前文简略的介绍了 reload 子命令,它的作用是重新加载某个服务程序的配置文件。这里的程序指的是服务类型 unit 的配置中指定的程序,也就是我们常说的 daemon(提供某种服务的应用程序)。比如服务类型的 unit prometheus.service,提供服务的 daemon 程序在我的机器上是 /usr/local/share/prometheus/prometheus,所以 reload 子命令重新加载的是 prometheus 的配置文件。

    如果把 daemon-reload 子命令中的 daemon 理解为 systemd 程序,就可以把这个命令解释为重新加载 systemd 程序的配置文件。而所有的 unit 配置文件都是作为 systemd 程序的配置文件存在的。这样得出的结论就是:

    新添加 unit 配置文件时需要执行 daemon-reload 子命令

    unit 的配置文件发生变化时也需要执行 daemon-reload 子命令

    daemon-reload 命令会做很多的事情,其中之一是重新生成依赖树(也就是 unit 之间的依赖关系),所以当你修改了 unit 配置文件中的依赖关系后如果不执行 daemon-reload 命令是不会生效的。

     

     

    以上内容整理:

    https://www.cnblogs.com/shijingjing07/p/9301590.html

    https://www.jb51.net/article/136559.htm

     

    展开全文
  • git常用命令总结--廖雪峰老师Git教程命令总结

    万次阅读 多人点赞 2018-03-12 15:36:57
    学习了廖雪峰老师的Git教程之后的命令总结,重点更新第十项关于git和远程仓库的东西。 如果没有学过,这是传送门 2019.07.15更新:第6章第12节--修改commit信息 2019.07.13更新:第6章第11节--创建本地新分支并将...
  • Git -01- 常用命令 + Git 远程仓库使用

    千次阅读 2018-11-26 23:19:13
    学习 Git ,推荐教程:Git教程 - 廖雪峰,原文较复杂,且示例是 MAC 系统,本篇侧重 Windows 系统,收录常用命令及日常操作,基本使用的话,这一篇文章就够了。 Git 常用基础命令 准备:创建目录,用来存放项目,...
  • Git 常用命令

    千次阅读 2014-03-31 12:33:12
    一、初始化 0、远程服务器新建文件夹test,里边 执行git init然后客户端...commit完成的状态下 git rm删掉这些文件 或git rm -r  再添加忽略文件夹 再commit ) 3、git add . 4、git
  • git常用命令总结

    千次阅读 2020-06-11 18:34:06
    本地仓库:是开发人员自己电脑上的Git仓库 远程仓库:是远程服务器上的Git仓库 Clone:克隆,就是将远程仓库复制到本地 Push:推送,就是将本地仓库代码上传到远程仓库 Pull:拉取,就是将远程仓库代码下载到...
  • Git与GitHub常用命令

    千次阅读 2016-07-06 17:06:10
    常用的 git 命令 常用的 GitHub 命令
  • 关于批处理以及批处理常用命令的总结   【 一、什么是批处理 】  批处理文件图标 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为 bat 。  目前比较...
  • Matlab常用命令汇总

    千次阅读 2016-07-05 14:41:00
    1 管理命令 1.1 管理用命令 函数名 功能描述 函数名 功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo ...
  • 常用的LLDB命令

    千次阅读 2017-10-12 18:28:00
    常用的lldb命令大全
  • VBA常用命令

    千次阅读 2007-11-02 14:22:00
    各种Excel VBA的命令 本示例为设置密码窗口 (1) If Application.InputBox("请输入密码:") = 1234 Then [A1] = 1 密码正确时执行 Else: MsgBox "密码错误,即将退出!" 此行与第2行共同设置密码 End If 本示例为...
  • Git与SVN常用命令与管理工具的使用

    千次阅读 2015-08-27 14:21:30
    git init:初始化本目录为一个仓库 SVN svn checkout 工程URL --username 用户名 --password 密码: 将服务器代码复制到当前目录 这里再介绍一个Mac上SVN常用的管理工具,也有windows版本的。 SVN工具:SmartSVN For...
  • Linux常用命令

    千次阅读 2008-10-14 09:37:00
    Shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。但是,C Shell与BourneShell并不兼容。 (3)Korn Shell是AT&T Bell实验室的David Korn开发的,它集合了C Shell和Bourne Shell的优点,并且...
  • 下边是收集的一些配置信息:  一些Chrome的地址栏命令(这些命令会不停的变动,所有不一定都是好用的) ...这些命令包括查看内存状态,浏览器状态,网络状态,DNS服务器状态,插件缓存等等。  about
  • linux下常用vi操作命令

    千次阅读 2018-03-21 10:15:34
    编辑器: vivi 的工作模式 编辑模式 插入模式 命令模式 shell 切换 选项设置 vim 和 gvim 的高级特色 1.6.1 vi 的工作模式Vi 在初始启动后首先进入编辑模式,这时用户可以利用一些预先定义的按键来移动光标、...
  • 汇编命令及OD常用命令及断点设置

    千次阅读 2012-07-12 10:23:31
     32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果, 2个变址和指针寄存器(ESI和EDI) 其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据...
  • linux常用命令-part3

    万次阅读 2016-05-01 20:47:17
    中文怎么发音 Ubuntu 有奔头,乌版图 Fedora 费德勒,菲朵拉 Debian 迪扁,德槟 CentOS 桑托斯 森头斯   Linux发展历史: 1) RedHat ---> 1.RedHat  2.CentOS ... rpm, yum 命令 2)
  • MQ常用管理命令

    千次阅读 2016-10-27 17:11:00
    1-说明本文参考MQ 9.0官方文档,结合平时使用整理,主要是Linux平台下的命令为主,部分平台(例如windows)会特别注明。2-语法规则命名规则与限制 - Queue,Process,namelists,clusters,topics,services,...
  • 1.Git几个专用名词 Workspace:工作区 Index / Stage:暂存区【工作区的文件使用add命令后会加入暂存区,而...2.Git常用命令清单 参考:https://blog.csdn.net/fly910905/article/details/79166272 3.Git配...
  • linux常用命令-part2

    万次阅读 2016-05-01 20:49:00
    Ubuntu,Fedora,Debian,CentOS中文怎么发音 有奔头, 费德勒, 迪扁, 桑托斯。 乌版图 菲朵拉 德槟 森头斯...使用find和wc命令统计代码行数 ================================ wc -l `find . -name "*.js" | xargs`
  • usart hmi(串口屏)常用命令

    千次阅读 2019-01-04 09:42:31
    1. 关于页面与页面之间的跳转 page 页面刷新指令 ... 例如:一个hmi工程里有几个页面A1,A2,A3等,如果想从页面A1切换到页面A2,可以使用页面A1的弹起事件里写上 page A2 这样,当串...
  • CAD做图常用命令

    千次阅读 2012-08-09 13:21:33
    2.掌握常用命令的快捷键,对有些命令可以了解. 3.边做边学,我用cad已经2年了,有些命令也不完全了解,用时再查看资料学习. 4.对照教科书一步一步,反复的做,一定要注意多回头想想 5.熟练掌握图层的用法 6.尽量学习...
  • linux常用命令-part1

    千次阅读 2016-05-01 20:48:10
    它提供了Bourne Shell所不能处理的用户交互特征,如命令补全、命令别名、历史命令替换等。但是,C Shell与BourneShell并不兼容。 (3)Korn Shell是AT&T Bell实验室的David Korn开发的,它集合了C Shell和Bourne ...
  • SAP常用命令、 BASIS操作

    万次阅读 2015-09-22 10:57:34
    se61——创建或修改 general text,即常规文本:zlogin_screen_info—–在行首可用@xx@方式引用一个icon(其中xx为数字,se38中运行report rstxicon 可查到所有的icon),文本信息最多为16行,每行45个字符. So01 邮箱 ...
  • SQL命令常用语句大全

    千次阅读 2016-05-22 21:41:32
    ***function(/*常用函数*/)*** ----统计函数---- AVG --求平均值 COUNT --统计数目 MAX --求最大值 MIN --求最小值 SUM --求和 --AVG use pangu select avg(e_wage) as dept_avgWage from...
  • 1 常用指令列表 ls 显示文件或目录  -l 列出文件详细信息l(list)  -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录  -p 创建目录,若无父目录,则创建p(parent) cd
  • Git命令行配置 1 安装Github 2 安装msysgit ... git config --global user.name  我的命令就是:git config --global user.name mchdbagh  git config --global user.... 我的命令就是:git config --global mchdba@

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 46,370
精华内容 18,548
关键字:

其中保存命令按钮在初始状态