linux基础命令!

Posted 龙少。

tags:

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

一.linux的特点

Linux里面一切皆是文件(核心)

Linux里面没有后缀名这一说

Linux系统所有组件的源代码都是自由的

Linux系统的稳定性、安全性、便利性
Linux包含硬件、内核、shell,通过sheel告知接收用户输入的命令,解释命令,传递给系统内核执行。

二.linux的目录结构

目录结构是树形目录结构

根目录
所有分区,目录,文件等的位置起点
整个树形目录结构中,使用独立的一个“/”表示

常见的子目录以及作用
/root :系统管理员root的宿主目录
/home:普通用户的宿主目录
/boot:系统内核,启动文件
/dev:设备文件
/etc:配置文件
/bin:所有用户可执行的命令
/sbin:管理员所执行的配置文件
/user:应用程序
/var:日志文件等,是可变的文件
/tmp:临时文件

三.linux命令的分类

内部命令与外部命令

查看内部命令enable
在这里插入图片描述

在这里插入图片描述

使用type可以查看是否是内部命令

[root@777 ~]# type pwd
pwd 是 shell 内嵌

内嵌说明pwd是内部命令

不是内部命令就是外部命令

内部命令和外部命令的区别

内部命令
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令
属于Shell的一部分
没有单独对应的系统文件
自动载入内存,可以直接使用

外部命令
Linux系统中可以完成特定功能的脚本文件或二进制程序
属于Shell解释器之外的命令
每个外部命令对应了一个系统中的文件
必须知道其对应的文件的位置,由shell加载后才能执行

四.linux命令的格式

在这里插入图片描述
命令字
是整条命令中最关键的一部分,是唯一确定的一条命令

选项
短格式选项:使用“-”符号引导
长格式选项:使用“- -”符号引导

参数
表示要执行命令的文件或者条件等参数

五.相关命令操作

1.编辑linux命令行

编辑Linux命令行的辅助操作

Tab键 :自动补齐
反斜杠”\\“:强制换行
Ctrl+U组合键:清空至行首
Ctrl +K组合键:清空至行尾
Ctrl+L组合键:清屏
clear:清屏
Ctrl+C组合键:取消本次命令编辑

2.切换用户 su

su - root 切换用户到管理员
su - AAA 切换用户到用户AAA

3.查看当前主机名 hostname

[root@777 opt]# hostname
777

4.查看当前文件的位置路径 pwd

[root@777 88]# pwd
/opt/88

5.查看层级关系 tree

[root@777 opt]# tree /opt
/opt
├── 88
│   ├── 123
│   └── 456
├── 99
├── a
├── b
└── rh

6.man帮助手册查看命令使用方法 man

man ls
在这里插入图片描述

进入man后按回车键向下一行进行查看
pgup和pgdn翻页查看
按“/"键查找内容
按q进行退出

使用help也可以查看帮助
su --help
help pwd
内部命令help在前

7.查看文件类型 file

file 文件或者目录

[root@777 ~]# file /opt
/opt: directory

[root@777 ~]# file a
a: empty

8.列出当前路径下的文件 ls

ls=list

-a 列出所有文件 不隐藏以.开始的文件 包括隐藏文件

-A 列出除. 及 … 以外的所有文件

-l 以长格式(属性,参数)显示文件 ls -l =ll

-h 友好显示,以易于阅读的格式输出文件大小(如2k,3M,4G)

-d 查看自己属性 一般与-l结合 -ld

-R 递归关系显示文件

-r 倒序显示文件

–color 以颜色区分显示文件

–color=none 关闭以颜色区分显示文件

切换到/var目录下,查看目录log的详细信息
cd /var
ls -ld log

查看当前目录下以1开头的文件
ls 1*
ls ./1*
ls /root/1*
ls ~/1*

查看区别

[root@localhost ~]# ls
11  123  145  195  22  33  a  aa  anaconda-ks.cfg  b  bb  initial-setup-ks.cfg  qq
[root@localhost ~]# ls 1*
123  145  195

11:
[root@localhost ~]# ll 1*
-rw-r--r--. 1 root root 0 430 16:26 123
-rw-r--r--. 1 root root 0 430 16:26 145
-rw-r--r--. 1 root root 0 430 16:26 195

11:
总用量 0
[root@localhost ~]# ls ./1*
./123  ./145  ./195

./11:
[root@localhost ~]# ls /root/1*
/root/123  /root/145  /root/195

/root/11:
[root@localhost ~]# ll /root/1*
-rw-r--r--. 1 root root 0 430 16:26 /root/123
-rw-r--r--. 1 root root 0 430 16:26 /root/145
-rw-r--r--. 1 root root 0 430 16:26 /root/195

/root/11:
总用量 0

查看当前目录下文件以长格式显示
ls -l


[root@777 ~]# ls -l
总用量 8
drwxr-xr-x. 2 root root    6 429 17:05 11
drwxr-xr-x. 2 root root    6 429 17:05 22
drwxr-xr-x. 2 root root    6 429 17:05 33
-rw-r--r--. 1 root root    0 427 19:53 a
-rw-------. 1 root root 1938 422 19:38 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 427 19:53 b
-rw-r--r--. 1 root root 1966 422 11:40 initial-setup-ks.cfg

说明:
-rw-rw-r–
-表示普通文件
drwxr-xr-x
d表示目录文件
brwxr-
b表示磁盘文件
lrwxr-
l表示链接文件
srwxr-
s表示套接字文件

2,1表示硬链接数量

root
第一个root是属主,第二个root是属组

6,1983表示字节大小

4月29 17:05 11 表示修改内容时间

列出当前目录下以i开头的文件
ls i*

列出当前目录下liuc开头或者liuh开头的文件
ls liu[ch]*

9.切换工作目录 cd

cd 目标位置: 切换到目标位置

cd cd~ : 若不确定位置,切换到当前宿主位置

cd- : 切换到上次执行cd命令的之前所在的目录

绝对路径
cd /home/abc

相对路径
cd …/…/home/abc

相对命令的表现形式

直接使用目录名或文件名
表示当前工作目录中的子目录、文件的位置
grub.conf

以一个点号“”开头
表示以当前的工作目录作为起点
./grub.conf

以两个点号“…”开头
表示以当前目录的上一级目录(父目录)作为起点
…/vmlinuz

以“~用户名”形式开头
表示以指定用户的宿主目录作为起点
~teacher

10.设置别名 alias

通过别名机制简化常用的,比较长的命令
在这里插入图片描述
alias rm=‘rm -i’

alias cp=‘cp -i’

alias mv=‘mv -i’

11.统计目录及文件空间占用情况 du

du用于查看磁盘水位
在这里插入图片描述
常用选项说明
-a :统计磁盘空间占用的包括所有文件

-s:汇总统计所有

-h:人性化友好显示大小

统计目录/var/log/总共占磁盘多少空间
du -sh /var/log

[root@777 ~]# du -sh /var/log
7.5M	/var/log

12.创建新目录 mkdir

在这里插入图片描述
创建目录aa
mkdir aa

创建目录aa和bb
mkdir aa bb

在/opt下创建aa
mkdir /opt/aa

在/opt下递归创建aa,bb
mkdir -p /opt/aa/bb

13.创建文件(新文件) touch

创建文件aa
touch aa

创建文件aa和bb
touch aa bb

创建文件 a到e
touch {a…e}

创建文件 5到10
touch {5…10}

创建/home/test/目录,并在该目录下创建文件file1,file2,file3
mkdir /home/test
touch file1 file2 file3

14.删除文件 rm

选项说明
-f : 强制删除不提醒
-i : 提醒确认
-r : 删除目录需要使用

删除文件xx.bak
rm xx.bak

强制删除目录aa
rm -rf aa

15.创建文件连接 ln

在这里插入图片描述
为/opt/http创建一个软链接,放在/home目录下
ln -s /opt/http /home

16.复制文件或目录 cp

在这里插入图片描述
选项说明

-f :强制复制不提醒
-i: 提醒确认
-p :保留源文件复制文件所有参数属性
-r : 保留源目录属性

复制文件aa到/opt
cp aa /opt

复制文件aa到/opt下并改名aa2
cp aa /opt/aa2

把目录/opt/test/拷贝到/home/linux/下
cp -r /opt/test/ /home/linux/

17.移动文件或目录 mv

在这里插入图片描述
移动aa到bb下
mv aa bb/

文件aa改名aa2
mv aa aa2

目录aa改名aa2
mv aa/ aa2

目录aa移动到/opt下并改名aa2
mv aa/ /opt/aa2

18.查找命令,文件存放目录 which

在这里插入图片描述
显示hostname文件的位置路径
which hostname

[root@777 opt]# which hostname
/bin/hostname

19.查找文件或目录 find

在这里插入图片描述
-a : 表示而且 and

-o : 表示或者 or

-name :按名称查找

-size:按大小查找

-type:按类型查找
-type f 表示文件 -type d 表示目录

-mtime :按修改文件那内容时间查找

-atime :按访问文件时间查找

-ctime: 按修改文件属性时间查找

查找znew
find -name znew

查找以z开头名称的所有文件
find -name “z*”
说明:*代表所有多个字符

查找以z开头中间一个字符p结尾的文件
find -name “z?p”
说明:?代表一个字符

查找大于1024k的文件
find -size +1024k
说明:大于用+,小于用-

查找大于10k并且小于1024k的文件
find -size +10k -a -size -1024k
说明:-a表示and并且

查找小于10k或者大于1024的文件
find -size -10k -o -size +1024k
说明:-o表示or或者

查找file开头的文件并且小于5k的文件并删除
find -name “file*” -size -5k -exec rm -rf{};

在 /home 目录下查找出 120 天之前被修改过的文件并删除
find /home -type -f -mtime +120 -exec rm -rf {} ;

20.查看文件内容

(1)查看文件内容cat命令

在这里插入图片描述
查看cpu当前运行情况(动态)
cat /proc/cpuinfo

查看cpu内存
cat /proc/meminfo

查看内核版本
cat /proc/version
uname -r
uname -a 查看所有

查看发行版的版本
cat /etc/centos-release

查看系统位数
get conf LONG_BIT

查看

(2)查看文件内容more命令

全屏方式分页显示文件内容
在这里插入图片描述
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏
按b键向上翻一屏
按q键退出

(3)查看文件内容less命令

在这里插入图片描述
交互操作方法:
Page Up 向上翻页,Page Down向下翻页
按“I”键查找内容,“n”下一个内容,“N”上一个内容
其他功能与more命令基本类似,扩展功能更多

查看文件aa.txt以显示行号和百分比的方式显示
less -N -m aa.txt
cat aa.txt | less -N -m

(4)查看文件内容head和tail命令

head命令
默认显示前10行文件
在这里插入图片描述
查看显示文件test前3行
head - n 3 test
head -3 test
head -n -7 test 去掉后面7行
cat -n test | head -n 3

tail命令
默认显示最后10行文件
在这里插入图片描述
查看显示文件test后3行
tail -n 3 test
tail -n -3 test

查看test文件第3行到最后一行
tail -n +3 test

查看文件test第6行到第10行
cat test | head | tail - n +6
cat test | head | tail -n 5
cat test | head | tail -n -5

查看文件test显示第6行和第七行
cat test | head | tail -n -5 | head -2

tail -f /var/log/messages 可以用于实时监控日志

查看显示文件test前3行和后5行
head -n 3 test;tail -n -5 test

21.统计文件内容 wc

在这里插入图片描述
常用命令选项:
-l 统计行数
-w 统计单词个数,精确到单词
-c 统计字节数

统计/etc/passwd文件一共有多少行内容
wc -l /etc/passwd

查看统计文件test有多少行内容
cat test | wc -l

统计/opt目录下的文件大小并按升序或者降序排列显示
du -s /opt | sort -n
du -s /opt | sort -nr

22.检索和过滤文件内容 grep

在这里插入图片描述
常用命令选项
-i 查找时忽略大小写
-c 只显示匹配了多少行
-w 精确到单词查找
-v 反转查找,进行过滤
-n 显示行号
-o 只显示字符

检索test文件中aaa的文件并统计有多少行
grep “aaa” test | wc -l

检索test文件中以l开头的文件
grep “^l” test

检索test文件中以g结尾的文件
grep “g¥” test

检索test文件中以li或者liu开头的文件
grep “liu*” test
说明 u*代表0个或者多个

检索test文件中的空行
grep ”^$" test

检索test文件过滤空行
grep -v ”^$" test

检索test文件中12或者13
grep “1[23]” test
说明 【23】表示2或者3

检索test文件中不以l开头的文件
grep -v “^l” test

过滤出以#开头和空行的行
grep -vE “#|$” test

检索 /etc/passwd 文件中以root开头 bash结尾的行
grep “^root” /etc/passwd | grep “bash " g r e p − E " r o o t ∣ b a s h " grep -E "^root | bash "grepE"rootbash” /etc/passwd
egrep “^root | bash$” /etc/passwd

统计出/etc/passwd文件中以login结尾的有多少行
grep “login " / e t c / p a s s w d ∣ w c − l g r e p − c " l o g i n " /etc/passwd | wc -l grep -c "login "/etc/passwdwclgrepc"login” /etc/passwd

检索test文件中只以“liu“精确查找
grep -w ”liu” test

统计root或者Root在test文件中共匹配到多少行
grep -E “root|Root” test | wc -l
grep “[rR]oot” test | wc -l

统计文件test中linux出现的次数
grep -o “linux” test|wc -l
grep -o “linux” test|wc -w
grep -o “linux” test | grep -c “linux”

匹配有 $ 的行:
grep “[$]” test
grep “\\ \\ $” test

以 $ 结尾的行
grep "[ $ ]$ " test
grep “\\ $$” test
说明 \\ 表示转义符

23.压缩命令 gzip bzip2 zip

在这里插入图片描述

gzip和bzip2只能对文件进行压缩不能对目录压缩

压缩liu
gzip liu
bzip2 liu
zip liu.zip liu
gzip -9 liu
9的范围是1-9 默认是6 数值越高压缩比例越高

解压liu
gzip -d liu.gz
bzip2 -d liu.bz2
gunzip liu.gz
bunzip liu.bz2
unzip liu.zip

压缩并保存原文件liu
gzip -c liu >liu.gz
bzip2 -k liu

递归压缩a目录下的文件
gzip -r a

24.归档文件命令 tar

常用命令选项
-c .创建新文档
-v 显示详情
-f 指定文件名 说明f后面要跟文件名
-x 归档还原
-C 指定路径目录
-p 保留背负你数据的源文件权限和属性
-z 通过gzip指令处理文件
-j 通过bzip2指令处理文件
-t 只查看tar包中的文件,不对tar包做解打包操作

创建新文档liu
tar -cvf liu.tar liu

还原文档liu
tar -xvf liu.tar

还原文档liu到/tmp目录下
tar -xvf liu.tar -C /tmp

归档并压缩文件liu
tar -zcf liu.tar.gz liu
tar -jcf liu.tar.bz2 liu

不解压只查看内容
tar -tf test.tar
tar -tzf test.tar.gz

归档还原并解压
tar -zxf test.tar.gz -C /tmp
tar -jxf test.tar.bz2 C /tmp
tar -zxpf test.tar.gz -C /tmp

以当前系统时间归档压缩文件test
tar -zcvf test ‘date +%Y%m%d’.tar.gz test
说明%Y%m%d表示年月日,%H%M%S表示时分秒

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

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

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

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

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

逆向及Bof基础实践

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