首页 > 系统相关 >Linux 必备基础知识与常用命令大汇总

Linux 必备基础知识与常用命令大汇总

时间:2024-07-24 17:57:24浏览次数:17  
标签:文件 13 lib 常用命令 40 基础知识 usr Linux local

这是我整理的关于Linux基础知识的笔记,主要为了方便在长期不用Linux的情况下,突然需要使用时可以快速查找。我最初有些犹豫是否应该写成文章,但我认为对于处于相似境遇的人来说,能够方便地复制和使用这些知识会很有帮助,所以决定将其分享出来。

虽然MacOS不是Linux,而是BSD系系统,但我在文中简要介绍了一些与包管理相关的内容。由于不包括CentOS7等系统的相关内容,如果有人能提供编辑建议或请求修改,将不胜感激。

个人设置文件

这些配置文件位于主目录中。 

位置意义
.bash_profile登录时加载,仅在用户登录时被读取和执行。
.bashrc每次启动新的shell时加载

二进制文件和库文件的位置参考

位置意义
/bin存放基本的系统命令的二进制文件,这些命令是系统启动和修复所需的基础工具
/sbin存放基本的系统管理和维护命令的二进制文件,这些命令主要用于系统管理员进行系统维护和配置
/lib包含系统基本库文件,这些库文件是 /bin/sbin 中的二进制文件运行所必需的。
/usr/bin包含用户程序所需的库文件,支持 /usr/bin 中的程序运行。
/usr/sbin存放非基本的系统管理和维护命令的二进制文件。这些命令通常用于系统管理员执行更高级的系统管理任务
/usr/lib包含与 /lib 中的库文件功能相同,但主要用于用户空间的程序和应用程序。这些库文件支持 /usr/bin 中的程序运行。
/usr/includeC语言的包含头文件
/usr/libexec内部调用的辅助命令
/usr/local自己编译的程序文件存放的位置(以下同样适用)
/usr/local/bin
/usr/local/lib
/usr/local/include
/usr/local/opt
/usr/src/内核源代码和头文件
/opt/local/bin通常用于软件包(主要是二进制blob)的安装位置。
/opt/local/lib通常用于安装软件包(主要是二进制blob)的目录。
/etc各种应用程序的配置文件
/var/log应用程序日志输出的位置
/var/www/html通常用作Web服务器的文档根目录。

包管理命令 

发行版命令
RedHat系yum
Macbrew
Debian系apt-get

所有软件包更新

apt-get update && apt-get dist-upgrade

yum update

brew upgrade

软件包安装的位置

因软件包而异。

发行版调查方法
ubuntudpkg -L package名
redhat(yum也是相同的)rpm -ql package名
MacOSX安装在“/usr/local/Cellar”并链接到“/usr/bin”

自己编译源代码

从网上获取并解压后进行编译的情况

wget http://目标源代码.tar.gz
tar -xvf 目标源代码.tar.gz
cd 目标源代码
./configure
make
sudo make install

如果要自定义安装位置,可以使用:

./configure --prefix=安装位置

使用 gcc 自行编译

编译 test.cc 时:

gcc -L库路径 -I包含文件路径 -l库名 -o 输出二进制名 test.cc

共享库通常命名为 lib~.a,因此在使用 -l 指定时,只需使用 部分即可。

安装软件包时

默认情况下,`/usr/bin` 会被优先搜索,因此可以通过设置 `${PATH}` 使其优先搜索 `/usr/local/bin`。

为了保持系统的整洁,最好将自行编译的源代码安装到通过 `./configure --prefix=安装位置` 指定的目录中,并在每次安装后更新路径。

检查共享库的依赖关系 

 共享库的扩展名是 .so 文件。 可以使用 ldd 命令来检查程序的依赖库。

ldd /bin/cp
  libc.so.6 => /lib/libc.so.6
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2

MacOSX的情况

otool -L

查看环境变量列表

printenv

指定路径 

变量名意义
$PATH二进制文件的搜索路径
$LD_LIBRARY_PATH库文件的搜索路径
$C_INCLUDE_PATHC语言的包含路径

按照书写顺序优先搜索并执行。 用 : 分隔,以 ; 结尾。 例如,将 =/usr/local/lib 设置为优先搜索的路径并使其生效。

$ LD_LIBRARY_PATH=/usr/local/lib:/usr/lib;
export LD_LIBRARY_PATH

上述方法是暂时生效的。 要永久生效,请将设置写入 .bash_profile.bashrc 中,然后使用 source 命令使其生效。

vi ~/.bashrc
写入
source ~/.bashrc

解压文件

.tar.gz

tar zxvf filename.tar.gz

.bz2

tar xvfj filename.bz2 

vi 编辑器的基本命令

命令意义
i插入模式
a在光标后插入
x删除光标所在的字符
D删除当前行
q退出
q!强制退出
w保存
wq保存后退出
gg移动到文件开头
:数字移动到指定行
G移动到文件末尾
Ctrl + f移动到下一画面
Ctrl + b移动到上一画面
0移动到行首
$移动到行尾
w移动到下一单词
b移动到上一单词
W移动到下一空白处
B移动到上一空白处
yy复制(指定要复制的行数前加上数字)
p

粘贴(当前行)

P粘贴(光标下方)
dd删除(前面加上数字以指定删除的行数)
u撤销操作
/[文字列]向前搜索
?[文字列]

向后搜索

n下一个匹配项
N上一个匹配项
:%s/替换前字符串/替换后字符串/g置換
:set number行番号表示
:syntax off去除颜色

使用 Git 克隆并提交的步骤

git clone URL
git add index.html
git commit -m "comment"
git push

重做

将工作区和索引(暂存区)恢复到上一个提交状态。

git reset --hard

 获取远程更改

git pull

服务启动和停止

/etc/init.d/服务名 start
/etc/init.d/服务名 stop

或者

service 服务名 start

重启动

/etc/init.d/服务名 restart

始终保持启动

chkconfig 服务名 on

将文件复制到远程机器

scp [选项] 源文件 目标位置

要将当前目录下的 testfile 文件传输到 192.168.1.10user1 用户的主目录,可以使用以下 scp 命令:

scp ./testfile [email protected]:~/

如果更改路径的顺序,也可以从远程获取文件。

文件搜索

$ find / -name doc.txt

创建自签名证书

过程中会询问的 CommonName 中输入主机名,其他字段可以随意填写。

# openssl genrsa 2048 > server.key
# openssl req -new -key server.key > server.csr
# openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt

host名変更

#vi /etc/hosts
127.0.0.1 xxxx localhost 这里进行追記
#vi etc/sysconfig/network
NETWORKING=yes
HOSTNAME=写到这里
GATEWAY=192.168.0.1

生效变更内容

# /etc/rc.d/init.d/network restart

检查正在使用的端口

sudo netstat -anp

检查容量

按分区

df -h

从当前目录递归检查

du -h

调查服务器负载情况

CPU負荷

top

内存

vmstat

其他方式

# uptime
13:35  up 30 mins, 2 users, load averages: 0.07 0.16 0.19

load averages 后面,会显示 1 分钟、5 分钟和 15 分钟的负载平均值。这些数值表示处理的等待时间。处理等待时间可能是由于“CPU 使用率”或“I/O 处理等待”造成的。

如果负载平均值较低但性能未改善,网络可能是一个因素,可以使用 netstat 等工具进行调查。

检查 CPU 使用率和 I/O 等待时间

# sar -u 3 10
13:40:16  %usr  %nice   %sys   %idle
13:40:19    1      0      2     98
13:40:22    1      0      1     98
13:40:25    0      0      1     98
13:40:28    0      0      1     99
13:40:31    1      0      1     98
13:40:34    0      0      1     99
13:40:37    0      0      1     99
13:40:40    0      0      1     99
13:40:43    0      0      1     99
13:40:46    0      0      1     99
Average:      0      0      1     98   
  • %user:用户空间的 CPU 使用率。
  • %nice:由调整优先级的进程在用户空间中使用的 CPU 使用率。
  • %system:内核空间的 CPU 使用率。
  • %iowait:显示 CPU 等待 I/O 处理的时间比例。
  • %idle:CPU 在磁盘 I/O 等待中处于空闲状态的时间比例。

服务器构建时进行的安全设置

LPIC 标准教科书的目录:

  1. 检查软件更新信息
  2. 定期更新正在使用的包
  3. 不安装不必要的软件
  4. 禁用或删除不必要的用户
  5. 根据需要为用户密码设置有效期限
  6. 限制能够获得 root 权限或使用 sudo 的用户
  7. 适当设置文件和目录的访问权限
  8. 适当配置运行级别,避免启动不必要的守护进程
  9. 删除不必要的 SUID 和 SGID
  10. 准确记录日志
  11. 启用数据包过滤(如 iptables),避免接收不必要的数据包
  12. 关闭不必要的端口

cron的設定

crontab -e

格式

# 注释
分 时 日 月 星期 命令或脚本

标签:文件,13,lib,常用命令,40,基础知识,usr,Linux,local
From: https://blog.csdn.net/rralucard123/article/details/140663200

相关文章

  • Linux 服务器中如何实现 Docker 自动清理回收空间
    简介Docker是一个流行的容器化平台,但在使用过程中可能会占用大量磁盘空间。为了保持系统的整洁和高效,我们可以设置定时任务来自动清理Docker资源。本教程将指导你如何设置cron任务,以每天凌晨3点自动执行Docker清理命令。准备工作确保你的系统上已安装Docker。确保......
  • es:常用命令
    一,查看es的相关信息:1,查看集群的健康状态liuhongdi@lhdpc:/usr/local/soft$curl-XGEThttp://127.0.0.1:9200/_cat/health172181039608:39:56elasticsearchgreen11110000-100.0%2,查看状态:liuhongdi@lhdpc:/usr/local/soft$curl-XGET"http://127.0.0.1:92......
  • Linux系统安装Cobol语言及IBM大型机模拟软件Hercules
     COBOL(CommonBusiness-OrientedLanguage)起源于50年代中期,是一种面向过程的高级程序设计语言,主要用于商业和数据处理领域。经过不断发展和标准化,已成为国际上应用最广泛的商业编程语言之一,在某red书上还有招聘COBOL程序员去日本的帖子,个人害怕噶腰子所以不推荐。COBOL语言具......
  • Linux下jdk安装及环境变量配置
    一、解压安装jdk 将下载好的压缩文件复制到/usr/local/src目录下进入/usr/local/src并解压:cd/usr/local/src&&tarxvf[压缩文件名称]二、配置环境变量(推荐使用第三种或第四种)配置之前需要根据实际情况在命令行设置JAVA_HOME:例如(/usr/local/src/jdk1.8.0_......
  • Linux常用命令总结
    1、ls,ll显示目录下的内容(listfiles,ls-l长格式)2、chmod+777XXX.XX 赋予读,写,执行权限+777表示赋予所有用户(所有者、所属组和其他用户)读、写和执行该文件或者目录的权限3、top实时进程监控 3.1查看每一个CPU的情况:top的情况下按1         ......
  • CSS 基础知识
    CSS(级联样式表)是设置Web内容样式的代码。CSS基础知识将介绍入门所需的内容。我们将回答以下问题:如何将文本设置为红色?如何使内容显示在(网页)布局中的某个位置?如何用背景图片和颜色装饰我的网页?什么是CSS?像HTML一样,CSS不是一种编程语言。它也不是一种标记语言。CSS是一种......
  • JavaScript 基础知识
    JavaScript是一种编程语言,可为您的网站增加交互性。这发生在游戏中,在按下按钮或在表单上输入数据时的响应行为中;具有动态样式;带有动画等。本文可帮助您开始使用JavaScript,并进一步了解可能的情况。什么是JavaScript?JavaScript 是一种功能强大的编程语言,可以为网站......
  • Linux获取线程调度策略pthread_attr_getschedpolicy
    thread_attr_getschedpolicy 函数是POSIX线程(pthread)库中用于获取线程属性对象中的调度策略的函数。在实时系统中,调度策略决定了线程如何被调度器选择来执行。pthread_attr_getschedpolicy 函数允许你查询一个已创建的线程属性对象(pthread_attr_t 类型)中设置的调度策略......
  • Linux 文本文件编辑相关命令简介【Linux 常用命令系列二】
    〇、前言本文介绍了如何通过vim命令,对文本文件进行打开、编辑、保存等相关操作,并通过简单的示例演示了常用用法。一、关于文本文件的操作1.1打开,查看(cat)、编辑(vim)打开文本文件,有查看和编辑两种状态。1.1.1仅查看cat可以使用cat命令,加上文件的绝对路径或者进入目标路......
  • 五、IPv6基础知识-NDP
    NDP:IPv6邻居发现协议,主要通过ICMPv6报文来实现其功能。1.主要功能 NDP功能对应实现的ICMPv6报文如下:2.路由发现功能 1.路由器发现是指主机发现本地链路上路由器和确定其配置信息的过程。2.路由器发现可以同时实现以下3个功能:路由器发现(RouterDiscovery):主机定位邻......