linux基础命令!
Posted 龙少。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础命令!相关的知识,希望对你有一定的参考价值。
linux基础命令
- 一.linux的特点
- 二.linux的目录结构
- 三.linux命令的分类
- 四.linux命令的格式
- 五.相关命令操作
- 1.编辑linux命令行
- 2.切换用户 su
- 3.查看当前主机名 hostname
- 4.查看当前文件的位置路径 pwd
- 5.查看层级关系 tree
- 6.man帮助手册查看命令使用方法 man
- 7.查看文件类型 file
- 8.列出当前路径下的文件 ls
- 9.切换工作目录 cd
- 10.设置别名 alias
- 11.统计目录及文件空间占用情况 du
- 12.创建新目录 mkdir
- 13.创建文件(新文件) touch
- 14.删除文件 rm
- 15.创建文件连接 ln
- 16.复制文件或目录 cp
- 17.移动文件或目录 mv
- 18.查找命令,文件存放目录 which
- 19.查找文件或目录 find
- 20.查看文件内容
- 21.统计文件内容 wc
- 22.检索和过滤文件内容 grep
- 23.压缩命令 gzip bzip2 zip
- 24.归档文件命令 tar
一.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 4月 30 16:26 123
-rw-r--r--. 1 root root 0 4月 30 16:26 145
-rw-r--r--. 1 root root 0 4月 30 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 4月 30 16:26 /root/123
-rw-r--r--. 1 root root 0 4月 30 16:26 /root/145
-rw-r--r--. 1 root root 0 4月 30 16:26 /root/195
/root/11:
总用量 0
查看当前目录下文件以长格式显示
ls -l
[root@777 ~]# ls -l
总用量 8
drwxr-xr-x. 2 root root 6 4月 29 17:05 11
drwxr-xr-x. 2 root root 6 4月 29 17:05 22
drwxr-xr-x. 2 root root 6 4月 29 17:05 33
-rw-r--r--. 1 root root 0 4月 27 19:53 a
-rw-------. 1 root root 1938 4月 22 19:38 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 4月 27 19:53 b
-rw-r--r--. 1 root root 1966 4月 22 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
"grep−E"root∣bash” /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/passwd∣wc−lgrep−c"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基础命令!的主要内容,如果未能解决你的问题,请参考以下文章
markdown [Docker] Docker片段列表和命令#linux #docker #snippets
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段