Linux 环境常用命令
·
Linux 环境常用命令有很多,这次我们系统总结一些常用的命令:
一、关机相关命令
1、shutdown 会给系统计划一个时间关机。它可以被用于停止、关机、重启机器。
shutdown -P now ###
关闭机器
shutdown -H now ###
停止机器
shutdown -r09:35 ###
在
09:35am
重启机器
shutdown -c
要取消即将进行的关机,
2、halt
命令通知硬件来停止所有的
CPU
功能,但是仍然保持通电。你可以用它使系统处于低层维护状态。注意在有些情况会它会完全关闭系统。
halt ### 停止机器
halt -p ### 关闭机器
halt --reboot ### 重启机器
3、poweroff
会发送一个
ACPI
信号来通知系统关机。
poweroff ### 关闭机器
poweroff --halt ### 停止机器
poweroff --reboot ###
重启机器
4、reboot
命令
reboot
通知系统重启
reboot ### 重启机器
reboot --halt ### 停止机器
reboot -p ### 关闭机器
二、文件与目录管理命令
ls:
列出目录
---ll
cd
:切换目录
pwd
:显示目前的目录
mkdir
:创建一个新的目录
rmdir
:删除一个空的目录
cp:
复制文件或目录
-----scp
网络复制
scp /data/myimages.tar 10.0.0.7:/data
rm: 移除文件或目录
mv:
移动文件与目录,或修改文件与目录的名称
#比如移动当前文件到其他目录
mv user-system.jar bak/user-system.jar
#将文件移动到上一个目录
mv filename ..
三、硬链接与软链接
1
硬连接
硬连接指通过索引节点来进行连接。在
Linux
的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号
(I
node Index)
。在
Linux
中,
多个文件名指向同一索引节点是存在的
。比如:
A
是
B
的硬链接(
A
和
B
都是文件名),则
A
的目录项中的
in
ode
节点号与
B
的目录项中的
inode
节点号相同,即一个
inode
节点对应两个不同的文件名,两个文件名指向同一个文件,
A
和
B
对文件系
统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止
“
误删
”
的功能。其原因如上所述,因为对应该
目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的
连接才会被释放。也就是说,
文件真正删除的条件是与之相关的所有硬连接文件均被删除
。
2
软连接
另外一种连接称之为符号连接(
Symbolic Link
),也叫软连接。
软链接文件有类似于
Windows
的快捷方式
。它实际上是一个特殊的文件。在符
号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:
A
是
B
的软链接(
A
和
B
都是文件名),
A
的目录项中的
inode
节点号与
B
的目录项中的
inode
节点号不相同,
A
和
B
指向的是两个不同的
inode
,继而指向两块不同的数据块。但是
A
的数据块中
存放的只是
B
的路径名(可以根据这个找到
B
的目录项)。
A
和
B
之间是
“
主从
”
关系,如果
B
被删除了,
A
仍然存在(因为两个是不同的文
件),但指向的是一个无效的链接。
例如:
$touch a
#
创建一个测试文件
a
$ ln a b
#
创建
a
的一个硬连接文件
b
--echo 123 > a ##a,b
的内容同时变为
123
$ ln
-
s a c
#
创建
a
的一个符号连接文件
c
$ ls
-
li
# -i
参数显示文件的
inode
节点信息
四、最常用的是
cd
命令
cd
进入用户主目录;
cd ~
进入用户主目录;
cd -
返回进入此目录之前所在的目录;
cd ..
返回上级目录(若当前目录为
“/“
,则执行完后还在
“/
"
;
"
..
"
为上级目录的意思);
cd ../..
返回上两级目录;
五、新建文件夹和文件:
mkdir touch
mkdir
创建文件夹
mkdir dirname
直接跟文件夹名,可在当前目录下创建文件夹
mkdir
/opt/lamp/
dirname
可跟路径
mkdir
-p /opt/lam/
dirname
假如
lam
不存在,需要用
-p
才可以创建该文件夹
touch
新建文件
touch
dilename
可直接跟文件名在当前目录下创建新的文件
六、cat/less/more/tail
等文件查看命令
-n
或
-number
:有
1
开始对所有输出的行数编号;
-b
或
--number-nonblank
:和
-n
相似,只不过对于空白行不编号;
-s
或
--squeeze-blank
:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A
:显示不可打印字符,行尾显示
“$”
;
-e
:等价于
"-vE"
选项;
-t
:等价于
"-vT"
选项;
-e
:文件内容显示完毕后,自动退出;
-f
:强制显示文件;
-g
:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l
:搜索时忽略大小写的差异;
-N
:每一行行首显示行号;
-s
:将连续多个空行压缩成一行显示;
-S
:在单行显示较长的内容,而不换行显示;
-x<
数字
>
:将
TAB
字符显示为指定个数的空格字符。
-<
数字
>
:指定每屏显示的行数;
-d
:显示
“[press space to continue,
'q'
to quit.]”
和
“[Press
'h'
for
instructions]”
;
-c
:不进行滚屏操作。每次刷新这个屏幕;
-s
:将多个空行压缩成一行显示;
-u
:禁止下划线;
+<
数字
>
:从指定数字的行开始显示。
按
Space
键:显示文本的下一屏内容。
按
Enier
键:只显示文本的下一行内容。
按斜线符
|
:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
按
H
键:显示帮助屏,该屏上有相关的帮助信息。
按
B
键:显示上一屏内容。
按
Q
键:退出
rnore
命令。
--retry
:即是在
tail
命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项
“——follow=name”
连用;
-c
或
——bytes=
:输出文件尾部的
N
(
N
为整数)个字节内容;
-f
或;
--follow
:显示文件最新追加的内容。
“name”
表示以文件名的方式监视文件的变化。
“-f”
与
“-fdescriptor”
等效;
-F
:与选项
“-follow=name”
和
“--retry
"
连用时功能相同;
-n
或
——line=
:输出文件的尾部
N
(
N
位数字)行内容。
--pid=<
进程号
>
:与
“-f”
选项连用,当指定的进程号的进程终止后,自动退出
tail
命令;
-q
或
——quiet
或
——silent
:当有多个文件参数时,不输出各个文件名;
-s<
秒数
>
或
——
sleep
-interal=<
秒数
>
:与
“-f”
选项连用,指定监视文件变化时间隔的秒数;
-v
或
——verbose
:当有多个文件参数时,总是输出各个文件名;
一般
tail
命令最常用的
-n
和
-f
,例:
tail
filename
读取
filename
最后
10
行内容
tail
-f filename
实时动态读取
filename
最后
10
行内容
tail
-20f filename
实时动态读取
filename
最后
20
行内容
cat
和
less
及
more
指令相似,
cat
是一次性读取所有内容,文件内容较多时速度较慢。
less
与
more
的区别在于:
less
可以
前后翻页查看,
more
只能向前翻页查看。
tail
则用于实时获取
log
信息,从后向前读取内容
上述四种命令均可跟
grep
搭配使用
cat/less/tail |grep mysql
七、查看文件大小的命令
du/df
du
-
sh
*
显示当前目录下所有文件的大小
du -sh filename
显示该文件大小
du -sh
显示当前目录所占空间大小
-s
或 仅显示总计,只列出最后加总的值。
-h
或 以
K
,
M
,
G
为单位,提高信息的可读性。
df
显示磁盘占用信息
直接
df
默认一
k
为单位
df
-lh
显示本地系统的占用信息,以
K
,
M
,
G
为单位
八、重点
--
文本编辑器
vi
vi
命令是
UNIX
操作系统和类
UNIX
操作系统中最通用的全屏幕纯文本编辑器。
Linux
中的
vi
编辑器叫
vim
,它是
vi
的增强版(
vi Improved
),与
vi
编辑器完全兼容,而且实现了很多增强功能。
vi
编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用
vi
编辑器就必须
熟练掌握着两种模式的切换。
默认情况下,打开
vi
编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“
esc
”键,从命令模式切换到编辑模式使用“
A
”、“
a
”、
“
O
”、“
o
”、“
I
”、“
i
”键。
vi
编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:
1
Ctrl+u
:向文件首翻半屏;
2
Ctrl+d
:向文件尾翻半屏;
3
Ctrl+f
:向文件尾翻一屏;
4
Ctrl+b
:向文件首翻一屏;
5
Esc
:从编辑模式切换到命令模式;
6
ZZ
:命令模式下保存当前文件所做的修改后退出
vi
;
7
:
行号:光标跳转到指定行的行首;
8
:$
:光标跳转到最后一行的行首;
9
x
或
X
:删除一个字符,
x
删除光标后的,而
X
删除光标前的;
10
D
:删除从当前光标到光标所在行尾的全部字符;
11
dd
:删除光标行正行内容;
12
ndd
:删除当前行及其后
n-1
行;
13
nyy
:将当前行及其下
n
行的内容保存到寄存器
?
中,其中?为一个字母,
n
为一个数字;
14
p
:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
15
P
:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
16
/
字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
17
?
name
:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
18
a
,
bs/F/T
:替换文本操作,用于在第
a
行到第
b
行之间,将
F
字符串换成
T
字符串。其中,
“s/”
表示进行替换操作;
19
a
:在当前字符后添加文本;
20
A
:在行末添加文本;
21
i
:在当前字符前插入文本;
22
I
:在行首插入文本;
23
o
:在当前行后面插入一空行;
24
O
:在当前行前面插入一空行;
25
:wq
:在命令模式下,执行存盘退出操作;
26
:
w
:在命令模式下,执行存盘操作;
27
:
w
!:在命令模式下,执行强制存盘操作;
28
:q
:在命令模式下,执行退出
vi
操作;
29
:q
!:在命令模式下,执行强制退出
vi
操作;
30
:e
文件名:在命令模式下,打开并编辑指定名称的文件;
31
:n
:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
32
:f
:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
33
:set nu
:在命令模式下,用于在最左端显示行号;
34
:set nonu
:在命令模式下,用于在最左端不显示行号;
35
:
1
,3y
复制第一行到第三行
36
:
1
,3d
删除第一行到第三行
37
:
1
,3s/str/str_new/g
替换第一行到第三行中的字符串
38
:
1
,3s/str/str_new
替换第一行到第三行中的字符串第一个字符
39
:
1
,
3
g/str /d
删除第一行到第三行中含有这个字符串的行
九.
查看服务
netstat -nlpt|grep 80
查看该端口号是否被占用
free -m //
查看
LINUX
内存剩余容量
ps
可以查看具体的进程信息,一般与管道符连接其他命令使用,如:
grep
ps
常用参数
-ef/-aux
,一般最常用还是
-ef
,例:
ps -ef|grep mysql
查询
mysql
进程
top
也可查看进程信息,而且是动态显示
whoami
查看当前登陆用户
who
查看多少用户在使用系统
date
查看系统时间,可跟时间格式使用
cal
查看日历,可跟年份,查看指定的年份
chkconfig --list #
查看系统服务启动
chkconfig iptables on #
开机启动该服务
chkconfig iptables off #
开机不启动该服务
service iptables start #
启动该服务
service iptables restart #
重启启该服务
ps
-ef|
grep
mysql|
grep
-v
grep
|
awk
'{print $2}'
ps
-ef|
grep
mysql
是查询
mysql
服务的进程
|
后的
grep -v
grep
是匹配不包含
grep
的行
awk
是取查询结果的第几列,
awk
'{print $2}'
则是取第二列的值
grep
无参数则显示匹配的行
-c
显示匹配的行数
-v
显示不匹配的行
十.
杀掉进程
kill
命令
kill
最常用的参数是
-9
,用法:
kill -9
进程号 即可强制杀掉该进程
统计命令
wc
常用的参数是
-l
用法:
wc -l
,例:
ps
-ef|
grep
mysql|
wc
-l
统计查询出的
mysql
进程的行数
查找命令
find/locate/whereis/which
find
-name
后跟文件名,可查看文件所在目录,可跟
user
,查看属于
user
的文件
find
-name filename
查找
filename
所在目录
find
-name name*
查找开头为
name
的文件所在目录
find
-name *name
查找结尾为
name
的文件所在目录
find
-name *name*
查找包含
name
字符串的文件所在目录
find
-user faith
查看用户
faith
的文件
locate
用法与
find
基本相似,只是
locate
搜索速度较快些,
locate
一般系统不会自带,需要安装,可用
yum
安装
whereis
只能搜索程序名
which
则是只查询
path
中的环境变量
十一.
压缩和解压命令
gzip/guzip zip/unzip tar
gzip
和
gunzip
一般可用参数是
-r
,例
:
gzip
test.txt
压缩文件
gzip
-
r test
压缩所有
test
下的子文件
gunzip
test.gz
解压文件
zip
和
unzip
可用参数较多,例:
zip
test
不跟参数直接使用
zip
-
r test
递归压缩
test
下所有文件
比如,把logs文件夹压缩一下命令:zip logs.zip logs
递归压缩:zip -r nginx.zip nginx/
压缩单个文件: zip archive.zip file.txt
压缩多个文件:zip output_files.zip /path/to/file1.txt /path/to/file2.txt
密码保护:zip -r -e output_folder.zip /path/to/input_folder
unzip
test
不跟参数直接使用
unzip
-
n
解压时不覆盖已存在的文件
unzip
-
o
解压时覆盖已存在的文件
unzip
-d
将文件解压到目录中去
tar
使用的较为多些,用法也多,最常用的是
zxcvf
几个参数,例:
-
c
创建新文档,就是代表压缩的意思
-
x
解压文档
-
f
使用归档文件
-
z
使用
gzip
解压
-
v
详细输出模式
最为常用的使用方法:
tar
-zcvf test.
tar
test
将
test
压缩为
test.tar
并输出详细信息
tar
-zxvf test.
tar
将
test.tar
解压缩,并输出详细信息
-r:递归地将目录下的所有文件和子目录都打包到ZIP文件中。
-q:安静模式,不显示压缩过程。
-v:详细模式,显示压缩过程的详细信息。
-u:更新ZIP文件,只添加新的文件和修改过的文件。
-d:从ZIP文件中删除指定的文件。
-l:列出ZIP文件中的文件信息。
-9:使用最高级别的压缩(压缩率最高),但压缩速度最慢。
-P:设置密码来保护压缩文件的内容。
-s:分割ZIP文件为指定大小的多个文件,以便在存储和传输时更方便。
这就是linux常用的基础命令,后续我们还会不断的丰富!
更多推荐
已为社区贡献5条内容
所有评论(0)