| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux常用命令 -> 正文阅读 |
|
[系统运维]Linux常用命令 |
Linux常用命令1.目录处理命令
|
选项 | 参数 |
---|---|
-a (all) | 所有文件(包括隐藏文件) |
-l (long) | 详细信息 |
-d | 目录属性 |
-h | 数据大小 |
-i | i 节点 |
Linux中,以.
开头的文件是隐藏文件,隐藏文件一般系系统文件,除非你确定要操作,否则不要乱动
文件的所有者u
(user)、所属组g
(group)、其他人o
(other)
文件类型:-
二进制文件、d
目录、l
软链接文件
权限:r
读、w
写、x
执行
rm
(remove)
rm -rf [文件或目录]
选项 | 参数 |
---|---|
-r | 删除目录 |
-f | 强制执行 |
mv
(move)
mv [原文件或目录] [目标目录]
cp
(cpoy)
cp -rp [原文件或目录] [目标目录]
选项 | 参数 |
---|---|
-r | 复制目录 |
-p | 保留文件属性(修改时间) |
mkdir
(make directories)
mkdir -p [目录名]
选项 | 参数 |
---|---|
-p | 递归创建 |
rmdir
(remove empty directories)
rmdir [目录名]
cd
(change directory)
cd [目录]
.
当前目录,..
当前目录的上一级目录pwd
(print working directory)
pwd
touch
cat
tac
more
less
head
tail
ln
touch [文件名]
cat [文件名]
选项 | 参数 |
---|---|
-n | 显示行号 |
tac [文件名]
mroe [文件名]
选项 | 功能 |
---|---|
或f | 翻页 |
Enter | 换行 |
q 或Q | 退出 |
less [文件名]
选项 | 功能 |
---|---|
PgUp | 往上翻一页 |
↑ | 往上翻一行 |
\ [关键词] | 搜索关键词 |
n | 查找下一处关键词 |
head [文件名]
选项 | 参数 |
---|---|
-n [行数] | 显示前几行(默认10行) |
tail [文件名]
选项 | 参数 |
---|---|
-n | 行数显示后几行(默认10) |
-f | 动态显示文件末尾内容(Ctrl+c退出) |
ln
(link)
ln [选项-s] [原文件] [目标文件]
选项 | 参数 |
---|---|
-s | 生成软连接(生成硬链接不需要加-s选项) |
软连接:符号链接,有箭头指向源文件,相当于Windows快捷方式,i 节点与源文件不同。可以跨分区,可以对目录使用。
硬链接:相当于拷贝,同步跟新。删除源文件,硬链接仍然可以访问,i 节点与源文件相同。不能跨分区,不能针对目录使用,只能针对文件。
i节点:每个文件都有一个i节点,i节点可以映射到多个文件
chmod
chown
chgrp
umask
chmod
(change the permissions mode of a file)
chmod [{ugoa}{+-=}{rwx}] [文件或目录]
chmod [421] [文件或目录]
选项 | 功能 |
---|---|
-R | 递归修改 |
# 使用符号
chmod g+w, o-r legend
# 使用数字
chmod 640 xiaobai
chmod -R 777 xiaohei
rwx权限 | file文件 | directory目录 |
---|---|---|
r读 | 可以查看文件内容 | 可以列出目录内容 |
w写 | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x执行 | 可以执行文件 | 可以进入目录 |
只有两个人可以更改文件权限:管理员root和所有者
chown
(change file ownerhsip)
chmod [用户] [文件或目录]
chown redhat legend
只有管理员root可以改变所有者,改变文件或目录的所有者,前提是存在
chgrp
(change file group ownership)
chmod [所属组] [文件或目录]
chgrp hmz legend
创建文件时,一般默认的所属组是所有者的缺省组,每个用户只能由一个缺省组
umask
(the user file-creation mask)
umask [-S]
选项 | 功能 |
---|---|
-S | 以rwx形式显示新建文件的缺省权限 |
# 查看
umask -S
u=rwx,g=rx,o=rx
umask
0022
# 更改新建文件或目录的权限
umask 077
0022说明:0特殊权限
022:— -w- -w-
777:rwx rwx rwx逻辑与
得到:
755:rwx r-x r-x(目录权限)
644:rw- r-- r–(文件权限)
缺省创建的文件没有执行权限,所以新建目录权限为755,新建文件权限为644
find
locate
updatedb
which
whereis
grep
find [搜索范围] [匹配条件]
选项 参数 | 功能 |
---|---|
-name [文件名] | 查找特定文件名的文件 |
-size [+-][大小] | 查找特定大小的文件 |
-user [所有者] | 查找某所有者的所有文件 |
-group [所属组] | 查找某所属组的所有文件 |
-amin [+-] [n] (access) | 访问时间 |
-cmin [+-] [n] (change) | 文件属性 |
-mmin [+-][n] (modify) | 文件内容 |
[选项] -a [选项] (and) | 与,搜索条件连接 |
[选项] -o [选项] (or) | 或,搜索条件连接 |
-type [fdl] | 根据文件类型查找 |
-inum [i节点] (inumber) | 根据i节点查找 |
-exec/-ok [命令] {} \; (execute) | 对搜索结果执行命令操作 |
-name
:可用通配字符*
-amin [+-] [n]
:查找在n分钟外/内被访问的文件有哪些
-cmin [+-] [n]
:查找在n分钟外/内被更改属性的文件有哪些
-mmin [+-][n]
:查找在n分钟外/内被更改内容的文件有哪些
-type [fdl]
:file文件、diretory目录、link软链接,一次只能匹配一类,可以用-a增加匹配项
-exec/-ok [命令] {} \;
:-exec
不询问立即执行,-ok
询问确认是否执行命令(后面是固定格式:\
表示转义;
表示结束)
find /home -name init # 在home目录下匹配init名字的文件
find /home -name init* # 在home目录下匹配以init开头的名字的文件
find /home -name *init* # 在home目录下匹配含init的名字的文件
find /home -iname init # 在home目录下匹配不区分大小写的init名字的文件
find / -size +204800 # 查找大于100MB的文件
find / -size -102400 # 查找小于50MB的文件
find / -size +204800 -a -size -102400 # 查找大于100MB小于50MB的文件
find /home -name init -exec ls -l {} \. # 查找并查看init文件的详细信息
find
是精准查找
不要在服务器高峰期进行操作
搜索范围越小越好,搜索条件越精准越好
Linux中存储文件最小的单位:1数据块 = 512字节 = 0.5K
locate [文件名]
选项 | 功能 |
---|---|
-i | 不分大小写 |
-r | 使用正则表达式 |
-c | 统计符合匹配的个数 |
-n [N] | 只列举前N个匹配项目 |
locate initlab # 搜索initlab文件
locate -c init # 统计init文件的个数
locate -i init # 不分大小写搜索init文件
locate -ci init # 统计不分大小写init文件的个数
locate -r '\.conf$' # 使用Regex来搜索以'.conf'结尾的文件
locate
是模糊查找
在定期更新的资料库中找文件,但是不将/tmp收入进数据库中
updatedb
which [命令]
whereis [命令]
grep [选项-iv] [内容] [文件路径]
选项 | 功能 |
---|---|
-i | 不分大小写 |
-v [字符串] | 排除指定字符串 |
# 在help.doc查找不分大小写的permutation
grep -i permutation /home/redhat/help.txt
# 排除help.doc中所有以`#`开头的行(^#:以#开头)
grep -v ^# /home/redhat/help.txt
man
whatis
apropos
info
man
(manual)
man [命令]
1是命令的帮助,5配置文件的帮助
whatis [命令]
apropos [配置文件]
info [命令]
info
跟man
作用差不多,显示内容有差别
选项 参数 | 功能 |
---|---|
-name [文件名] | 查找特定文件名的文件 |
useradd
passwd
who
w
uptime
useradd [用户名]
passwd [用户名] [密码]
root
可以更改任何人的密码,没有约束限制;普通用户只能更改自己的密码,有密码更改次数,必须符合密码规则:8位以上数字符号大小写字母组合
who
USER
:登录的用户名
TTY
:登录终端(tty
本地终端;pts/2
远程终端/终端号2,用来区分不同的终端)
FROM
:登录的主机的IP地址,没写就是主机登录
LOGIN@
:登录时间
w
who的详细信息:
hh:mm:ss
当前系统时间、up hh:mm
连续运行了多久
n users
登录用户的个数、load average
负载均衡指数(相当于uptime
)
USER
用户、TTY
登录终端、FROM
登录主机IP地址、LOGIN@
登录时间
IDLE
:用户登录以来,空闲了多久
JCPU
:用户执行操作累计占用的CPU总时间
PCPU
:CPU时间,用户登录进来执行的操作占用CPU的时间
WHAT
:用户执行了什么操作,-bash在显示器界面等待执行
uptime
系统当前时间
连续运行了多久(运行时间长、无关机/重启:说明稳定性好)
登录用户的个数
负载均衡指数:分别表示1、5、15分钟系统内的(平均)负载情况(负载值主要是CPU和内存的负载情况)
gzip
gunzip
tar
zip
unzip
bzip2
bunzip2
gzip
(GNU zip)
gzip [选项] [压缩文件名]
选项 参数 | 功能 |
---|---|
-d *.gz | 解压压缩包 |
[root@localhost ~]$ touch xiaohei
[root@localhost ~]$ gzip xiaohei
[root@localhost ~]$ ls -l xiaohei.gz
-rw-r--r--. 1 hmz hmz 28 Aug 24 4:02 xiaohei.gz
[root@localhost hmz]$ gzip -d xiaohei.gz
[root@localhost ~]$ ls -l xiaohei
-rw-r--r--. 1 hmz hmz 0 Aug 24 4:02 xiaohei
[root@localhost ~]$ mkdir legend
[root@localhost ~]$ gzip legend
gzip: legend is a directory -- ignored
gunzip
(GNU unzip)
*.gz
压缩包gunzip [解压压缩包]
[root@localhost ~]$ touch xiaohei
[root@localhost ~]$ gzip xiaohei
[root@localhost ~]$ ls -l xiaohei.gz
-rw-r--r--. 1 hmz hmz 28 Aug 24 4:02 xiaohei.gz
[root@localhost hmz]$ gunzip xiaohei.gz
[root@localhost ~]$ ls -l xiaohei
-rw-r--r--. 1 hmz hmz 0 Aug 24 4:02 xiaohei
tar [选项-zcvf] [压缩后目录名] [压缩目录]
tar [选项-zxvf] [解压目录]
选项 参数 | 功能 |
---|---|
-c *.tar * | 打包 |
-x *.tar.gz | 解包 |
-v * | 显示详细信息 |
-f * | 指定文件名 |
-z * | 打包同时压缩/解包 |
[hmz@localhost ~]$ mkdir legend
[hmz@localhost ~]$ touch legend/xiaobai
[hmz@localhost ~]$ ls -l legend
total 0
-rw-rw-r--. 1 hmz hmz 0 Aug 24 4:02 xiaobai
[hmz@localhost ~]$ tar -cvf legend.tar legend
legend/
legend/xiaobai
[hmz@localhost ~]$ ls -l legend.tar
-rw-rw-r--. 1 hmz hmz 10240 Aug 24 4:02 legend.tar
[hmz@localhost ~]$ gzip legend.tar
[hmz@localhost ~]$ ls -l legend.tar.gz
-rw-rw-r--. 1 hmz hmz 161 Aug 24 4:02 legend.tar.gz
[hmz@localhost ~]$ rm legend.tar.gz
[hmz@localhost ~]$ ls
legend
[hmz@localhost ~]$ tar -zcvf legend.tar.gz legend
legend/
legend/xiaobai
[hmz@localhost ~]$ ls -l legend.tar.gz
-rw-rw-r--. 1 hmz hmz 150 Aug 24 4:02 legend.tar.gz
[hmz@localhost ~]$ tar -zxvf legend.tar.gz
legend/
legend/xiaobai
[hmz@localhost ~]$ ls
legend legend.tar.gz
zip [选项-r] [压缩后文件名] [文件或目录]
选项 参数 | 功能 |
---|---|
-r * | 压缩目录 |
zip xiaobai.zip xiaobai
zip -r legend.zip legend
unzip
unzip [压缩包]
unzip xiaobai.zip
unzip legend.zip
bzip2 [选项-k] [文件]
选项 参数 | 功能 |
---|---|
-k * | 保留文件 |
bzip2 -k xiaobai
tar -cjf legend.tar.bz2 legend
bzip2 [选项-k] [压缩包]
选项 参数 | 功能 |
---|---|
-k * | 保留压缩包 |
bunzip2 -k xiaobai.bz2
tar -xjf legend.tar.bz2
write
wall
ping
pifconfig
mail
last
lastlog
traceroute
netstat
setup
mount
write [用户名]
redhat向hmz发送信息:
[redhat@localhost redhat]$ write hmz
hello world
how are u?
[redhat@localhost redhat]$
[hmz@localhost ~]$
Message from hmz@localhost.localdomain (as redhat) on pts/0 at 04:02 ...
hello world
how are u?
EOF
[hmz@localhost ~]$
wall
(write all)
wall [发送信息内容]
ping [IP地址/域名]
选项 参数 | 功能 |
---|---|
-c N | 指定发送次数N |
ping -c 8 www.baidu.com
pifconfig
(interface configure)
pifconfig [网卡名] [IP地址]
pifconfig eth0 192.168.8.24
mail [用户名]
给自己发送一封邮件
[hmz@localhost ~]$ mail hmz
Subject: test
hello world!
now u see me.
EOF
[hmz@localhost ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help
"/var/spool/mail/hmz": 1 message 1 new
>N 1 hmz Tue Aug 24 04:02 19/615 'test'
& help
mail commands
.
·
·
& 1
·
·
·
hello world!
now u see me.
& h
> 1 hmz Tue Aug 24 04:02 19/615 'test'
& d 1
& h
No applicable messages
& q
[hmz@localhost ~]$
N(邮件未读);发送者;发送时间;邮件标题
& 1
:读取邮件的编号
& h
:列举所有邮件
& d 1
:删除邮件的编号
& q
:退出查看邮件
last
用户名,端口,登录来源IP,登录时间,推出时间,持续登录时间
lastlog [-u] [用户ID]
traceroute [IP地址/域名]
netstat
(net status)
netstat [选项]
选项 | 功能 |
---|---|
-t | TCP协议 |
-u | UDP协议 |
-l | 监听 |
-r | 路由 |
-n | 显示IP地址:端口号 |
# 查看本地监听的端口
netstat -tlun
# 查看本机所有的网络连接
netstat -an
# 查看本机路由表
netstat -rn
setup
并不是所有的Linux都有这个命令
mount [[-t][文件系统]] [设备文件名] [挂载点]
mkdir /mnt/cdrom # 在挂载目录下创建一个空目录
mount -t iso9660 /dev/sr0 /mnt/cdrom # 连接挂载文件和盘符
cd /mnt/cdrom # 进入挂载点访问
cd # 退出挂载点,不然无法卸载
umount /dev/sr0 # 卸载挂载点
-t iso9660
:光盘文件系统iso9660
,是固定的,这个选项可以省略
/dev/sr0
:默认设备文件名,是系统默认指定的。也可以写/dev/cdrom
,这是/dev/sr0
的软连接
挂载:找到一个硬件,给它分配一个设备文件名,再给它找个盘符目录,然后把设备文件名和盘符目录连接起来
卸载:只需卸载/dev/sr0
、/mnt/cdrom
一个即可
shutdown
关机
重启
其他
shutdown [选项] [时间]
选项 | 功能 |
---|---|
-h | 关机 |
-r | 重启 |
-c | 取消前前一个关机命令 |
时间:now
、10:08
计算机正在告诉运转突然断点,很可能会损坏硬盘,服务器同理。而且,在关机和重启之前,应该正确地把服务停掉。
halt
poweroff
init 0
reboot
init 6
id:3:initdefault:
:修改系统默认运行级别
runlevel
:查询系统运行级别
logout
:退出登录命令
级别 | 运行 |
---|---|
0 | 关机 |
1 | 单用户 |
2 | 不完全多用户,不含NFS服务 |
3 | 完全多用户 |
4 | 未分配 |
5 | 图形界面 |
6 | 重启 |
/etc/inittab
:init
进程的配置文件
X:一般都指Linux的图形界面
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 6:04:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |