常用Linux命令

2023-05-16

记录一些常用的Linux命令

1 用户管理
增加用户
$ useradd <user_name>
$ useradd -g <group_name> <user_name>
-g选项指定新用户所属的用户组

修改用户的组别
$ usermod -g <group_name> <user_name>

查看所有的组别
$ cat /etc/group
/etc/group文件包含所有组别的信息

查看所有的用户
$ cat /etc/passwd
/etc/passwd包含所有用户的信息

查看用户登录信息
$ last -f /var/log/wtmp
/var/log/wtmp包含所有系统重启和用户登录的信息

查看失败的用户登录信息
$ sudo last -f /var/log/btmp
$ sudo lastb
/var/log/btmp文件包含所有失败的登录信息

查看历史命令记录
$ history

显示命令记录的时间
$ export HISTTIMEFORMAT='%F %T ’
$ history

2 查看CPU、内存使用、存储使用信息,显示时间
查看CPU信息
$ cat /proc/cpuinfo

查看内存使用情况
$ free -m

查看CPU和内存动态使用情况
$ top

查看硬盘使用情况
$ df
$ df -h

查看目录下子目录/文件所占空间
$ du -sh *

显示当前时间
$ date
$ date -R
-R显示所在时区

3 进程管理
列出所有进程
$ ps -e

杀掉某个进程
$ kill <pid>

在后台运行程序
$ jupyter notebook &
后面加一个&符号表示在后台运行

退出登录继续运行
$ nohup jupyter notebook &
nohup表示程序在用户退出登录后也会继续运行

4 重定向和管道
重定向是Linux一个非常有用的功能
$ jupyter notebook > jupyter.out

表示jupyter notebook命令的输出导出到jupyter.out文件,Linux默认用0、1、2分别指代标准输入、标准输出、错误输出,可以在重定向符之前指明需要重定向的信息,没有指明的默认为1,即标准输出

$ jupyter notebook >jupyter.out 2>/dev/null
表示标准输出导出到jupyter.out,错误信息导出到/dev/null空设备,即丢弃。

$ jupyter notebook >jupyter.out 2>&1
表示标准输出导出到jupyter.out文件,错误输出导出到标准输出终端,因为标准输出终端已经重定向至jupyter.out文件,所以实际上两个都导出到jupyter.out文件。

$ ps -e | grep jupyter
ps -e命令的输出到下一个命令作为输入,在ps -e指令列出的进程中查找包含关键词jupyter的进程

$ ps -e | awk {‘print $4’} | grep jupyter
awk为行处理命令,对ps -e列出的每一行进行处理,只打印第4个参数(进程名),再进行grep匹配,只列出进程名。

5 查看文件内容
显示文件内容
$ cat captions_train2017.json

一页一页翻看文件内容
$ more captions_train2017.json
按空格键显示下一页内容,按回车键显示下一行,按b键回退到第一页。按q键退出

翻看文件内容,可以通过键盘上下翻看
$ less captions_train2017.json
按PageDown键向下翻一页,按PageUp键向上翻一页,按方向键下键往下翻一行,按方向键上键往上翻一行。more命令的按键也都有效。

6 硬盘管理
格式化硬盘
$ sudo mkfs /dev/vdb

指定格式,加上-t选项
$ sudo mkfs -t ext4 /dev/vdb

挂载硬盘
$ sudo mount /dev/sdb /disk
/disk为挂载的目录,需提前创建

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常用Linux命令 的相关文章

  • Linux 阻塞与非阻塞串行读取

    I have 这段代码 https stackoverflow com questions 6947413 how to open read and write from serial port in c用于在Linux中从串行读取 但我不
  • 期待、互动,然后再次期待

    有几篇关于相同内容的帖子 但我仍然无法使我的期望脚本正常工作 我的目的是自动化一切 但保留用户输入的密码 所以脚本有 3 个部分 自动登录 给予用户交互以输入密码 将控制权交还给 Expect 脚本以继续工作 所以我有一个将生成的脚本 其中
  • %config(noreplace) 文件上出现意外的 RPM 冲突

    我正在创建我自己的RPM using rpmbuild My RPM 包含配置文件哪个应该永远不会被覆盖 即使 RPM 包含这些配置文件的新版本 为了存档这个 我用以下标签标记了它们 config noreplace opt mypacka
  • 有没有办法只安装mysql客户端(Linux)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有不需要安装整个mysql db安装包的Linux mysql命令行工具 我想做的是从服务器 1 应用程序服务器 执行将在服务器 2
  • Linux mremap 不释放旧映射?

    我需要一种方法将页面从一个虚拟地址范围复制到另一个虚拟地址范围 而无需实际复制数据 范围很大 延迟很重要 mremap 可以做到这一点 但问题是它也会删除旧的映射 由于我需要在多线程环境中执行此操作 因此我需要旧映射能够同时使用 因此稍后当
  • 如何从命令行执行 PHP 代码?

    我想执行单个 PHP 语句 例如if function exists my func echo function exists 直接使用命令行 无需使用单独的 PHP 文件 这怎么可能 如果您要在命令行中执行 PHP 我建议您安装phpsh
  • Laravel 内存问题?

    各位 我在 DO 服务器上遇到这样的问题 我已经尝试了一切 整个网站在使用 Homestead 的 Linux 服务器上 100 正常工作 但上传后 它只能工作一次 在重新加载或刷新页面后会多次下降 我尝试增加 apache 服务器的内存
  • 如何在树莓派上更新到最新的 python 3.5.1 版本?

    我昨天拿到了 Raspberry Pi 我已经在尝试用它来编写代码了 我有一个计划在其上运行的程序 但它仅与 Python 版本 3 5 0 或 3 5 1 兼容 并且我在互联网上找到的所有内容似乎都已经过时 与 Python 2 有关 或
  • C/C++ with GCC:静态地将资源文件添加到可执行文件/库

    有人知道如何使用 GCC 将任何资源文件静态编译为可执行文件或共享库文件吗 例如 我想添加永远不会改变的图像文件 如果它们改变了 我无论如何都必须替换该文件 并且不希望它们位于文件系统中 如果这是可能的 我认为这是因为 Visual C f
  • 在 4.x 内核上的 64 位内存中查找系统调用表

    我正在尝试编写一个简单的内核模块来查找 Linux 中的 sys call table 但遇到了一些麻烦 我在这里找到了 32 位 Linux 的基本指南 https memset wordpress com 2011 03 18 sysc
  • BlueZ D-Bus C,应用 BLE

    我正在尝试编写一个应用程序来搜索附近的蓝牙设备并与它们通信 我的应用程序将用 C 语言编写 并打算在 Linux 下工作 是否有通过 C 中的 D Bus 使用 BlueZ 的教程或示例 此应用程序的目的是从 BLE 中的文件发送数据 你能
  • Python 线程与 Linux 中的多处理

    基于此question https stackoverflow com questions 807506 threads vs processes in linux我假设创建新流程应该几乎和创造新线程在Linux中 然而 很少的测试显示出截
  • 如何使用 shell 脚本解压所有 .tar.gz?

    我试过这个 DIR path tar gz if ls A DIR 2 gt dev null then echo not gz else tar zxvf path tar gz C path tar fi 如果该文件夹有一个 tar 则
  • Mongo:无法连接到服务器 127.0.0.1:27017 位于 src/mongo/shell/mongo.js:145

    当我尝试在 ubuntu 中的 shell 中运行 mongo 或打开 rockmongo 时 我看到以下错误 couldn t connect to server 127 0 0 1 27017 at src mongo shell mo
  • 带有接收器的 boost_log 示例无法编译

    我正在考虑将 boost log 用于一个项目 一开始我就遇到了以下问题 我在以下位置找到的升压日志示例 http www boost org doc libs 1 54 0 libs log example doc tutorial fi
  • 多线程进程的线程ID可以与另一个正在运行的进程的进程ID相同吗?

    我正在尝试找到一种方法来唯一标识多进程环境中的线程 我有一个服务器 它跟踪连接到它的不同进程 其中一些是多线程的 一些不是 为了识别多线程连接中的线程 我使用线程 ID 作为唯一标识符 在任何给定时间最多有 1 个多线程进程连接 我的问题是
  • pip 找不到满足要求的版本 django==2.2.1

    我刚刚将操作系统更改为 linux 并且想安装 django 但我无法安装最新版本的 django 我努力了 pip install django 但是它安装了 django 1 11 11 这不是我需要的 我还将我的 pip 升级到了 1
  • 如何使用 bash 粘贴来自单独文件的列?

    我想用分隔符 合并不同的列表 第一个列表有 2 个单词 cat first one who 第二个列表有 10000 个单词 cat second languages more simple advanced home expert tes
  • 如何每周日运行 crontab 作业

    我想弄清楚如何每周周日运行 crontab 作业 我认为以下应该可行 但我不确定我是否理解正确 下面的说法正确吗 5 8 6 这是 crontab 格式的解释 1 Entry Minute when the process will be
  • Docker容器内的动态监听端口

    我有一个应用程序 在使用其默认端口建立一些连接后 开始打开 侦听 新的随机端口来处理现有连接 然后删除它们 视频通话 它还在通信协议内交换其IP地址和端口 我能够解决IP地址问题 但仍然无法找到一种方法来动态告诉主机的IPTABLES在Do

随机推荐