linux命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令相关的知识,希望对你有一定的参考价值。

提示 命令没有找到?
[[email protected] /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
1.输入命令有误
2.该命令没有安装
3.该命令执行程序没有在PATH的路径中

Tab 键自动补全
可以补全命令字 选项 参数 文件路径 软件名 服务名
ctrl+l 清屏
ctrl+c 废弃当前编辑的命令行
Esc+. 粘贴上一个命令的参数 参数没有变 命令发生变化时使用

date 查看日期时间
date -s “ 2008-9-6 11.11.11”(日期和时间中间有一个空格) 设置日期和时间
[[email protected] /]# date
2017年 11月 21日 星期二 11:30:29 CST
[[email protected] /]# date -s "2008-9-6 11:11:11"
[[email protected] /]# date -s "2017-11-21 11:31:20"

[[email protected] /]# bc
bc 计算器 取余运算 10%3 结果为余数

重定向 重新定向输出 将前面命令的结果 作为内容写入文本文件中

: 覆盖重定向
>: 追加重定向
echo:输出内容为输入的内容

[[email protected] /]# head -2 /etc/passwd
[[email protected] /]# head -2 /etc/passwd > /opt/test.txt

[[email protected] /]# hostname >> /opt/test.txt
[[email protected] /]# cat /opt/test.txt

ls 列出文档以及属性
ls List
格式 ls 选项 目录或文件名
常用命令选项
-l 以长格式显示
-A 包括名称以.开头的隐藏文档
-d 显示目录本身 (而不是内容的)的属性
-h 提供易读的容量单位 (K M )等 系统会自动选择适合的单位[[email protected] /]# ls -A /root/

[[email protected] /]# ls -l /boot
[[email protected] /]# ls -lh /boot

[[email protected] /]# ls -ld /boot

[[email protected] /]# ls -lA /root/

[[email protected] /]# mkdir /opt/.student
[[email protected] /]# ls /opt/
[[email protected] /]# ls -A /opt/

命令的别名
作用 简化复杂命令的输入
[[email protected] /]# alias myls=‘ls -lh‘ #定义别名
[[email protected] /]# myls /root/
[[email protected] /]# alias #查看所有有效的别名

[[email protected] /]# unalias myls #删除别名

使用通配符
想匹配一定规律的文件

|"管道"将前面命令输出结果交给后面的命令处理
#head /opt/passwd | tail -2 (只看前十行的后两行)

mkdir -p 标示连父目录一起创建 (逐级创建目录)
[[email protected] ~]# mkdir -p /vod/movie/cartoon
//-p表示连父目录一起创建

文件的删除
rm 选项 路径
rm -rf 强制递归删除
[[email protected] /]# touch /opt/1.txt
[[email protected] /]# mkdir /opt/abc
[[email protected] /]# ls /opt/
1.txt abc
[[email protected] /]# rm -rf /opt/*
[[email protected] /]# ls /opt/

mv 移动/改名
mv-Move
[[email protected] /]# rm -rf /opt/*
[[email protected] /]# mkdir /opt/nsd01
[[email protected] /]# touch /opt/1.txt
[[email protected] /]# ls /opt/
1.txt nsd01
[[email protected] /]# mv /opt/1.txt /opt/nsd01
[[email protected] /]# ls /opt/
nsd01
[[email protected] /]# ls /opt/nsd01

重命名:路径不变的移动

[[email protected] /]# mv /opt/nsd01 /opt/test
[[email protected] /]# ls /opt/

[[email protected] /]# mv /opt/test /opt/haha
[[email protected] /]# ls /opt/

注意
文本文件后面必须没有斜线
目录后面的斜线可有可无

cp 复制
cp-Copy
格式 cp 选项 原文件 目标路径
常用命令选项
-r递归
临时取消别名 命令行前加\ 这一次运行当中 临时取消别名
支持拷贝到目标路径中的时候指定一个新名字

[[email protected] /]# rm -rf /opt/*
[[email protected] /]# cp /etc/passwd /opt/
[[email protected] /]# ls /opt/

[[email protected] /]# cp /boot/vm* /opt/
[[email protected] /]# ls /opt/

[[email protected] /]# cp -r /boot/ /opt/
[[email protected] /]# ls /opt/

[[email protected] /]# cp -r /etc/shadow /mnt/ /opt/
[[email protected] /]# ls /opt/
临时取消别名
[[email protected] /]# \cp -r /boot/ /opt/

注意 当有多个参数时 默认最后一个参数为目标路径 前面的全都是原文件

[[email protected] 桌面]ssh 用户名@ip地址

选项 ssh -X 本机运行对方的图形界面
补充快捷键 ctrl+shift+t 开启一个新的终端
本机运行对方的图形程序
[[email protected] 桌面]# ssh -X 用户名@IP地址

[[email protected] 桌面]# ssh -X [email protected]

[[email protected] ~]# firewall-config #防火墙的图形程序

扩展的几个应用
/boot 存放系统引导必需的文件,包括内核、启动配置
/bin、/sbin 存放各种命令程序
/dev 存放硬盘、键盘、鼠标、光驱等各种设备文件
/etc 存放Linux系统及各种程序的配置文件
/root、/home/ 用户名 分别是管理员root、普通用户的默认家目录
/var 存放日志文件、邮箱目录等经常变化的文件
/proc 存放内存中的映射数据,不占用磁盘
/tmp 存放系统运行过程中使用的一些临时文件
###################################################
权限的数值表示
? 权限的数值化
– 基本权限:r = 4,w = 2,x = 1
虚拟机Svr7:
[[email protected] ~]# mkdir /nsd01
[[email protected] ~]# ls -ld /nsd01
drwxr-xr-x. 2 root root 6 12月 6 20:44 /nsd01

[[email protected] ~]# chmod 007 /nsd01
[[email protected] ~]# ls -ld /nsd01
d------rwx. 2 root root 6 12月 6 20:44 /nsd01

[[email protected] ~]# chmod 700 /nsd01
[[email protected] ~]# ls -ld /nsd01
drwx------. 2 root root 6 12月 6 20:44 /nsd01

[[email protected] ~]# chmod 750 /nsd01
[[email protected] ~]# ls -ld /nsd01
drwxr-x---. 2 root root 6 12月 6 20:44 /nsd01
################################################
自定义Yum仓库
1.自己下载的rpm包,真机的tools目录上传到虚拟机svr7
[[email protected] 桌面]# scp -r tools [email protected]:/root/
[email protected]‘s password:

2.虚拟机svr7查看
[[email protected] ~]# ls /root/tools/other/

3.仓库数据文件
[[email protected] ~]# createrepo /root/tools/other/
[[email protected] ~]# ls /root/tools/other/

4.书写客户端配置文件
[[email protected] ~]# vim /etc/yum.repos.d/rhel7.repo
[myrpm]
name=myrpm
baseurl=file:///root/tools/other
enabled=1
gpgcheck=0

[[email protected] ~]# yum -y install sl
[[email protected] ~]# rpm -ql sl #显示rpm安装清单

[[email protected] ~]# yum -y install cmatrix
[[email protected] ~]# rpm -ql cmatrix #显示rpm安装清单
[[email protected] ~]# cmatrix

[[email protected] ~]# yum -y install oneko
[[email protected] ~]# oneko
[[email protected] ~]# killall oneko

######################################################
? du,统计文件的占用空间
– du [选项]... [目录或文件]...

– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)

[[email protected] ~]# du -sh /root
[[email protected] ~]# du -sh /root /etc /var

######################################################
快捷方式(链接、连接): ln -s /路径/源文件 /路径/快捷方式的名字

#ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /opt/network

#ls -l /opt/

#cat /opt/network

i节点:编号,唯一标识硬盘上一块存储区域

ln,创建软连接
软连接 --> 原始文档 --> i节点 --> 文档数据
ln -s 原始文件或目录 软连接文件
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统

ln,创建硬连接
硬连接 --> i节点 --> 文档数据
ln 原始文件 硬连接文件
若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统

#硬链接相当于一个人有两个名字
#软链接相当于一个秘书

只有硬连接不会产生新的文件,也不会单独占用新的磁盘空间
[[email protected] ~]# rm -rf /opt/*
[[email protected] ~]# echo 123 > /opt/A
[[email protected] ~]# ln -s /opt/A /opt/A1 #制作软连接快捷方式
[[email protected] ~]# ls /opt/

[[email protected] ~]# ln /opt/A /opt/A2 #制作硬连接快捷方式
[[email protected] ~]# ls /opt/

[[email protected] ~]# cp /opt/A /opt/A3 #复制新文件
[[email protected] ~]# ls /opt/
[[email protected] ~]# ls -i /opt/ #查看目录内容的i节点编号

[[email protected] ~]# rm -rf /opt/A #删除源文件
[[email protected] ~]# ls -i /opt/
[[email protected] ~]# cat /opt/A1 #软连接不可用
[[email protected] ~]# cat /opt/A2 #硬连接可用
[[email protected] ~]# cat /opt/A3 #复制新文件可用
########################################################
压缩和归档
zip :跨平台(Windows与Linux)
命令格式:zip [-r] /路径/备份文件.zip /路径/被归档的文档..
[[email protected] ~]# zip -r /opt/test01.zip /home/ /boot/
[[email protected] ~]# ls /opt
[[email protected] ~]# unzip /opt/test01.zip -d /mnt/

[[email protected] ~]# zip -r /opt/test02.zip /etc/selinux
[[email protected] ~]# ls /opt
[[email protected] ~]# unzip /opt/test02.zip /mnt
##########################################################
date,查看/调整系统日期时间
date +%F
date +"%Y-%m-%d %H:%M:%S"
date -s yyyy-mm-dd HH:MM:SS"
##########################################################
历史命令
管理/调用曾经执行过的命令
histroy:查看历史命令列表
history -c:清空历史命令
!str:执行最近一次以str开头的历史命令

调整历史命令的数量
[[email protected] ~]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条
###################################################
man,格式化手册阅读工具
按 上 、 下 、 PgUp 、PgDn 键滚动及翻页
按 q 键退出
按 / 键向后查找关键词(n、N切换)
[[email protected] ~]# man mkdir
[[email protected] ~]# man 5 passwd #5:配置文件帮助信息
#################################################
vim编辑技巧
光标跳转
Home 键、数字 0 跳转至行首
End 键 跳转到行尾
PgUp 键、PgDn 键 向上翻页、向下翻页
1G 或 gg 跳转到文件的首行
G 跳转到文件的末尾行

复制/粘贴/删除
yy、4yy 复制光标处的一行、4行
p 粘贴到光标处之后、之前
x 或 Delete键 删除光标处的单个字符
dd、6dd 删除光标处的一行、6行
d^ 从光标处之前删除至行首
d$ 从光标处删除到行尾
C(大写) 从光标处删除到行尾,并且进入 输入模式

查找/撤销/保存
/root 向后查找字符串“root”
n、N 跳至后/前一个结果
u 撤销最近的一次操作
Ctrl + r 取消前一次撤销操作
ZZ (大写) 保存修改并退出

末行模式操作

:r /etc/filesystems 读入其他文件内容

[[email protected] ~]# echo 123 > /opt/1.txt
[[email protected] ~]# echo abc > /opt/2.txt
[[email protected] ~]# vim /opt/1.txt

:r /opt/2.txt #读入/opt/2.txt内容到当前文本文件内容

字符串替换
:s/root/admin 替换当前行第一个“root”
:s/root/admin/g 替换当前行所有的“root”
:1,8 s/root/admin/g 替换第1-8行所有的“root”
:% s/root/admin/g 替换文件内所有的“root”

开关参数的控制
:set nu|nonu 显示/不显示行号
:set ai|noai 启用/关闭自动缩进
#########################################################
源码编译安装

主要优点
获得软件的最新版,及时修复bug
软件功能可按需选择/定制
RPM软件包:rpm命令 yum仓库
gcc、make 进行配置
源代码软件包-------------------> 可以执行的程序------------>运行安装

步骤1:安装gcc与make编译工具
[[email protected] ~]# yum -y install gcc make
[[email protected] ~]# rpm -q gcc
[[email protected] ~]# rpm -q make

步骤2:tar解包,释放源代码至指定目录
[[email protected] ~]# rm -rf /opt/*
[[email protected] ~]# tar -xf /root/tools/inotify-tools-3.13.tar.gz -C /opt/
[[email protected] ~]# ls /opt
[[email protected] ~]# ls /opt/inotify-tools-3.13

步骤3: ./configure 配置,指定安装目录/功能模块等选项
[[email protected] ~]# cd /opt/inotify-tools-3.13
[[email protected] inotify-tools-3.13]# ./configure --prefix=/mnt/myrpm #配置功能,指定安装位置

checking for gcc... no #gcc没有安装

步骤4: make 编译,生成可执行的二进制程序文件
解压目录下
[[email protected] inotify-tools-3.13]# make

步骤5: make install 安装,将编译好的文件复制到安装目录
[[email protected] inotify-tools-3.13]# make install
[[email protected] inotify-tools-3.13]# ls /mnt/
[[email protected] inotify-tools-3.13]# ls /mnt/myrpm/
[[email protected] inotify-tools-3.13]# ls /mnt/myrpm/bin/
#安装工具 解包 配置 编译 安装
########################################################
Set UID
附加在属主的 x 位上
属主的权限标识会变为 s
适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限
[[email protected] /]# which mkdir
/usr/bin/mkdir
[[email protected] /]# cp /usr/bin/mkdir /usr/bin/abcdir
[[email protected] /]# chmod u+s /usr/bin/abcdir
[[email protected] /]# ls -l /usr/bin/abcdir
[[email protected] /]# useradd student
[[email protected] /]# su - student
[[email protected] ~]$ mkdir nsd01
[[email protected] ~]$ ls -l
[[email protected] ~]$ abcdir nsd02
[[email protected] ~]$ ls -l
[[email protected] ~]$ exit
########################################################
查看网络接口信息
netstat -anptu

    -a:显示所有接口信息
    -n:以数字方式显示
    -p:显示程序信息  
    -t:tcp连接 
    -u:udp连接

以上是关于linux命令的主要内容,如果未能解决你的问题,请参考以下文章

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段——cli的终端命令大全

VSCode自定义代码片段4——cli的终端命令大全

VSCode自定义代码片段15——git命令操作一个完整流程