Linux基础命令

Posted 代码改变世界!

tags:

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

1 processon脑图:linux命令基本操作

在linux下面: 没有提示(没有报错)就是最好的提示!!!

在linux下面: 没有提示(没有报错)就是最好的提示!!!

在linux下面: 没有提示(没有报错)就是最好的提示!!!

1.1 IP地址;
192.168.1.155 本机IP地址
127.0.0.1 本地回环地址
0.0.0.0 也是本地回环地址, 它包括了192.168.1.155和127.0.0.1
1.2 linux操作小技巧
1.tab键    用于自动补全命令/文件名/目录名
2.ctrl + l  清理终端显示
3.clear 清理终端显示
4.ctrl + c 终止当前操作
1.3 创建用户命令

useradd huangwen passwd huangwen

1.4 linux系统命令操作语法格式
命令空格参数空格【文件或路径】需要处理的内容
rm   -rf   /tmp/*
ls   -la   /home
1.5 安装好虚拟机就要做的事情 (非常重要************)

(1) 被系统自带的防火墙阻止(firewalld)

systemctl stop firewalld   # 先临时关闭防火墙
systemctl disable firewalld # 再永久关闭防火墙

(2) 美国国家安全局的防火墙(selinux)

# 临时关闭
getenforce # 查看状态(0表示关闭 1表示开启)
setenforce 1/0 # 表示开启/关闭

# 永久关闭
vim /etc/selinux/config
# 修改
SELINUX=disabled

2 linux基本命令

2.1 PS1(重要指数**)
echo $PS1

# 修改命令提示符
PS1="[\\u@\\h \\w \\t]\\$"
2.2 更改主机名
hostnamectl set-hostname qishione
2.3 创建多个目录的命令
mkdir -p
mkdir -p /root/qishi8/maxun/{1,2,3} # 创建多个目录,放在大括号里面用逗号隔开,千万要注意不能有空格
touch /root/qishi8/maxun{1,2,3} # 创建多个普通文件
2.4 vim(重要指数*)
vi/vim操作流程: 
1. vi 打开文件 此时进入命令模式,你可以输入 i/a/o 命令,进入编辑模式
2. 在编辑模式下,开始输入字符串
3. 写完之后, 按下 esc 回到命令模式,按下 : 进入底线命令模式
4. :w 写入不退出 :wq! 写入且强制退出
底线命令模式 
w 保存
q 退出
wq 保存退出
q! 无理由退出
wq! 无理由保存退出
2.5 cat命令(重要指数***)
cat -n 文件名  查看文件,并显示行号

cat 文件名 查看文件

# 追加文字到文件
cat >>/tmp/oldboy.txt << EOF
难难难 道德玄
不对知音不可谈
对了知音谈几句
不对知音枉费舌尖
EOF

echo \'你好\' >> /tmp/shi.txt
2.6 more和less命令(重要指数***)

主要是用来查看大容量的文件

more /etc/passwd    # 从上到下
less /etc/passwd   # 从下到上,并且留白
按下空格space是翻页
按下b键是上一页
回车键向下读取内容
2.6.1 echo命令
echo "美景一时观不透" > changyuan.py  # 清空文件中原有的内容并写入新的内容
echo "美景一时观不透" >> changyuan.py # 追加写入
2.7 cp命令(重要指数)

复制文件或文件夹

复制 > copy > cp
# 复制xxx.py到/tmp目录下
cp xxx.py /tmp/
# 复制xxx.py顺便改名为tiger.py
cp xxx.py /tmp/tiger.py
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变
2.8 删除命令(重要指数)
删除  > remove > rm
参数 -i 需要删除确认
   -f 强制删除
    -r 递归删除目录和内容

rm -r也有提示,因为有alias设置

alias命令,查看别名
alias rm =>
alias rm="rm -i"
2.9 alias命令(重要指数***)

当你输入rm命令时,提示"你这个饿货,不要再使用rm命令了,求你了大哥"

alias rm="echo \'你这个饿货,不要再使用rm命令了,求你了大哥\'"
2.10 查找命令find(重要指数***)

查找我想要的文件,过滤掉不需要的文件

-name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。################
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。#############
f - 普通文件。#################
s - socket文件
# 找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt"

# 找到/etc下所有名字以host开头的文件
find /etc -name \'host*\'

# 找到/opt上一个名为settings.py
find /opt -name \'settings.py\'
2.11 管道符"|" (重要指数)

第一个命令输出的结果,提供给第二个命令进行过滤,还可以进行第三次或多次过滤

ps -ef 表示查看当前系统运行的所有进程

netstat -tunlp 表示查看当前系统开放的所有端口

ps -ef | grep lvmeatad   # 过滤出所有lvmaetad关键字的进程
netstat -tunlp  查看服务器的端口占用情况
netstat -na | find "445"  windows下查看并过滤出445端口的占用情况
139和445是windows下面的共享文件端口

主机IP相关:

192.168.12.139表示我的linux机器
127.0.0.1/localhost 表示我自己
0.0.0.0 表示192.168.1.197和127.0.0.1和localhost组合起来
2.12 grep命令,查找文件下有关键字的内容(重要指数)
# 找出/etc/passwd下root用户
grep "root" /etc/passwd

# 找出网卡配置文件下的dhcp   通过关键字查找
grep "dhcp" /etc/sysconfig/network-scripts/ifcfg-ens33

#通过路径
grep /sbin/nologin /etc/passwd

# 找到/etc/passwd的所有与mysql有关行,行号
cat /etc/passwd |grep -n \'mysql\'

-i : 忽略大小写
-n : 输出行号
-v : 反向选择
2.13 head和tail命令
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
#查看前两行
head -2 /tmp/oldboy.txt
#查看后两行
tail -2 /tmp/oldboy.txt
#持续刷新显示
tail -f xx.log
2.14 which命令(重要指数)

which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。

which python       #python命令在哪
/usr/bin/python   #命令文件绝对路径
2.15 远程COPY命令(scp) (重要指数*)

用于linux之间的文件或目录的远程传输

语法
scp 【可选参数】 本地源文件 远程:/文件标记

scp 本地文件 远程用户名@远程ip:远程文件夹/               # 将文件复制过来
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名       # 将文件复制过来,并重命名
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/       # 将本地文件夹(目录),复制到远程主机上

scp Python-3.6.6.tgz 192.168.1.189:/opt/ # 将文件拷贝到远程机器上
scp 192.168.1.189:/opt/Python-3.6.6.tgz . # 将远程机器上的文件拷贝到本地,注意接受路径:.

参数

-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩
scp -v -r /opt 192.168.1.155:/tmp/  
# 递归拷贝opt目录到远程服务器上(显示详细输出,如debug信息)
scp -r /opt 192.168.1.155:/tmp/   # 递归拷贝opt目录到远程服务器上
scp -C -r /opt 192.168.1.155:/tmp/   # 递归拷贝opt目录到远程服务器上,并压缩传输
2.16 du命令,用于显示目录或文件的大小(重要指数***)
du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强

df -h 查看磁盘大小, 和占用空间
# 显示/home的总大小
du -sh /home
2.17 top命令, 动态监视进程活动与系统负载等信息(重要指数*)

2.18 chattr与lsattr(重要指数***)

给文件加锁,只能追加数据,无法删除文件

chattr +a test.py
chattr -a test.py

查看文件隐藏属性(查看文件是否有锁,是否有a属性)

lsattr test.py  
2.19 linux时间同步(重要指数***)
//手动修改时间
date 091117152019   # 0911表示月和日, 1715表示时分, 2019表示年份

//以系统时间为基准,修改硬件时间
[root@oldboy_python ~ 10:29:07]#hwclock -w

//以硬件时间为基准,修改系统时间
[root@oldboy_python ~ 10:29:21]#hwclock -s

ntp时间服务器同步

ntpdate -u ntp.aliyun.com
2.20 小知识点(重要指数**)

lrzsz工具包(可以提供linux服务器的上传和下载)

yum install lrzsz   # 下载此工具包

rz   # 上传文件
sz   # 下载文件
2.21 上传下载命令(重要指数*)
wget命令用于在终端下载网络文件
参数是 wget [参数] 下载地址

wget -r -p http://www.luffycity.com

#递归下载路飞所有资源,保存到www.luffycity.com文件夹中
2.22 开关机命令(重要指数*)
reboot或init 6命令用于重启机器
poweroff或init 0用于关闭系统

 

3 VIM编辑器

3.1 vim编辑器工作原理

3.2 vim基本操作命令

重要的我会标为高亮,必须要会,其他的了解就可以

3.2.1 移动光标

w(e)  移动光标到下一个单词

b    移动到光标上一个单词

数字0  移动到本行开头

$    移动光标到本行结尾

H    移动光标到屏幕首行

M    移动到光标到屏幕的中间一行

L    移动光标到屏幕的尾行

gg    移动光标到文档的首行

G    移动光标到文档尾行

ctrl + f  下一页

ctrl + b  上一页

`.  移动光标到上一次的修改行

3.2.2 查找

/tiger 在整篇文档中搜索tiger字符串,向下查找 ?tiger 在整篇文档中搜索tiger字符串,向上查找

查找到关键字之后:
n 表示查找下一个关键字
N 表示查找上一个关键字

查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处

查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处

gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上

%    找到括号的另一半!!

 

3.2.3. 复制粘贴删除命令

yy 拷贝光标所在行

nyy 拷贝以光标开始往下数n行内容

dd 删除光标所在行

D 删除当前光标到行尾的内容

dG 删除当前行到文档尾部的内容

p 粘贴yy所复制的内容

x   删除光标所在的前一个字符

del键 删除光标所在的字符

u 撤销上一步的操作

 

3.2.4 底线命令模式

:q! 强制退出

:wq! 强制写入退出

:set nu 显示行号

: set nonu 取消显示行号

:数字  调到数字那行

随时按下esc可以退出底线命令模式

 

博客地址:

总目录: https://www.cnblogs.com/tiger666/p/10239307.html

https://www.cnblogs.com/tiger666/articles/10259166.html

https://www.cnblogs.com/tiger666/articles/10259192.html

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

linux中怎么查看mysql数据库版本

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

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

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础

逆向及Bof基础实践

20155307刘浩《网络对抗》逆向及Bof基础