当前位置:首页 > 操作系统 > Linux > 正文内容

Linux常见命令

Linux3个月前 (11-02)

基本命令

关机:shutdown -h halt init 0 poweroff

重启:shutdown -r reboot init 6

pwd:查看工作目录

ls:查看指定目录的内容

-l:列表显示

-a:显示所有,包括隐藏文件

-h:人性化的显示

-d:只显示目录,不查看内容

cd:切换工作目录

. :当前目录

… :上一级目录

~ :用户家目录

- :上次切过来的目录


目录结构:

linux目录与windows完全不同,是从 / 开始的,只有他没有上一级目录,因此也叫根目录

详细介绍:

/bin:大部分的系统命令

/boot:启动相关目录

/dev:设备文件目录,linux下一切设备皆文件

/etc:配置文件目录

/home:普通用户的家目录,一个用户对应一个文件夹

/lib:库文件

/lib64:64位库文件

/lost+found:系统异常时临时保存数据,用于恢复等操作

/media:媒体目录

/mnt:挂载目录,通用挂载点

/opt:安装系统非必须软件目录

/proc:虚拟文件系统,会映射硬件信息

/root:root用户的家目录

/sbin:超级用户才能执行的命令目录

/selinux:linux一套安全机制,非常复杂,通常不用

/srv:存放本机或本机服务器的数据或服务

/sys:类似于/proc,也是虚拟文件系统,可以映射系统信息

/tmp:临时文件,可能随时销毁

/usr:存放用户安装的应用程序

/var:系统产生的不可自动销毁的文件,如:日志、缓存等


1、vim终端编辑器

介绍:vim是对vi的扩展,被誉为终端编辑器之神

安装:yum install -y vim

工作模式:正常模式、插入模式、编辑模式

正常模式:使用vim打开文件时的默认模式

vim filename 打开文件,若文件不存在则新建

esc:切换到正常模式

shift + zz:保存退出

常用操作:

vim filename +n 打开文件,定位到第n行

vim filename + 打开文件,定位到末尾

gg 定位到首行

G 定位到尾行

ngg 定位到第n行

^ 定位到行首

$ 定位到行尾

yy 复制光标所在行

p 粘贴

nyy 复制光标开始的n行

dd 删除光标所在行

ndd 删除光标开始的n行

u 撤销操作

ctrl + r 反撤销操作

插入模式:就是可以编辑文件内容的模式,在正常模式下输入以下字符进入:

i:在光标处插入

I:在行首插入

a:在光标下一个字符处插入

A:在行尾插入

o:下光标下一行插入空行

O:下光标上一行插入空行

s:删除光标所在字符并插入

S:删除光标所在行并插入

编辑模式:是对整个文件进行的操作,如:保存,退出

在正常模式下输入’:'即可进入编辑模式

:w 保存

:q 退出

:wq 保存退出,等价于 shift + zz

:x 保存退出,等价于:wq

:q! 强制退出

:set nu 显示行号

:set nonu 隐藏行号

:行号 定位到指定行号

/内容 查找指定内容,n下翻,N上翻

:%s/原内容/新内容   使用新内容替换原内容,全部替换

:m,ns/原内容/新内容 使用新内容替换原内容,替换m到n行

友情提醒:若非正常关闭vim,则会生成临时文件(隐藏的),需要删除


2、文件及文件夹

touch:创建普通文件

rm:删除文件,-f表示强制删除,-r表示递归删除

cp:拷贝文件,若目标目录写上文件名可以顺便把名字改了,-r可以操作目录

mv:移动文件,若目标目录写上文件名可以顺便把名字改了

mkdir:创建文件夹,-p创建中间目录

rmdir:删除文件夹,只能删除空目录


3、查看文件

cat:从上到下查看文件,全部内容

tac:从下到上查看文件,全部内容

head:查看开头的指定行内容,默认10行,head -3 1.txt

tail:查看末尾的指定行内容,默认10行,tail -5 1.txt

more:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾会自动结束,q退出查看

less:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾不会自动结束,可以上下翻

nl:功能同cat,会多显示行号

wc:统计文件信息,显示结果:行数 | 单词数 | 字节数

说明:more/less更多用法是结合管道使用,ls /etc | more


4、用户及用户组

whoami:查看当前用户

useradd:创建用户

-d:指定家目录

-u:指定用户id(uid)

-g:指定所属组id(gid)

-s:指定shell解释器


passwd:设置指定用户的密码,若不指定设置当前用户的密码

userdel:删除用户,-rf删除用户相关目录,否则需要手动删除

groupadd:创建用户组

groupdel:删除用户组

gpasswd:将用户添加到某个组,从某个组删除

gpasswd -a test hello 将test用户添加到hello组

gpasswd -d test hello 将test用户从hello组中删除

chgrp:改变文件所属组,chgrp hello 1.txt

chown:改变文件拥有者[及组],chown root[:root] 1.txt

chsh:修改用户的shell解释器,chsh test -s /sbin/nologin

su - : 切换到指定用户,若不加’-’,只会切换目录及用户身份,不会切换执行环境

若不指定用户。默认切换到root用户

涉及文件:

/etc/passwd:存放用户信息

/etc/group:存放用户组信息

/etc/shadow:存放用户密码

用户身份:

#:root用户

$:普通用户


passwd:设置指定用户的密码,若不指定设置当前用户的密码

userdel:删除用户,-rf删除用户相关目录,否则需要手动删除

groupadd:创建用户组

groupdel:删除用户组

gpasswd:将用户添加到某个组,从某个组删除

gpasswd -a test hello 将test用户添加到hello组

gpasswd -d test hello 将test用户从hello组中删除

chgrp:改变文件所属组,chgrp hello 1.txt

chown:改变文件拥有者[及组],chown root[:root] 1.txt

chsh:修改用户的shell解释器,chsh test -s /sbin/nologin

su - : 切换到指定用户,若不加’-’,只会切换目录及用户身份,不会切换执行环境

若不指定用户。默认切换到root用户

涉及文件:

/etc/passwd:存放用户信息

/etc/group:存放用户组信息

/etc/shadow:存放用户密码

用户身份:

#:root用户

$:普通用户


5、文件权限管理

说明:在linux下,文件的权限有:所有者、所属组、其它的区分

权限:权限有:读®、写(w)、执行(x),ls -l即可查看

rwxr-xr–

修改:使用chmod命令修改文件的权限

格式:chmod [身份] [修改] [权限] 文件

身份:

u:用户

g:组

o:其它

a:所有身份

修改:

+:添加

- :去掉

=:设置

权限:

r:读

w:写

x:执行

简洁写法:chmod 0755 1.txt

所有者可读可写可执行、所属组可读可执行、其它可读可执行


6、软硬链接文件

说明:ls -l 结果的第一列就是文件类型

类型:

- :普通文件

d:目录文件

l :软链接

命令:ln [-s] 原文件 目标文件

分类:软链接、硬链接(很少用到)

创建:不加参数-s创建的链接就是硬链接,添加-s参数创建的就是软链接

例子:ln -s 1.txt 2.txt


7、文件查找

tree  查看目录结构,-L指定层级深度,tree / -L 2

find  查找文件

-name  指定名字,find / -name 1.txt

-type  指定类型,(b/c/d/p/l)

-size  指定大小,单位K/M/G,+表示大于,-表示小于,find / -size +1G

-perm  指定权限

-user  指定用户

-group  指定组

-maxdepth  指定最大层级深度

whereis  查找程序,不要使用find(效率太低)

which  专门用来查找命令

alias  给某个命令起别名,alias ls=‘ls --color=auto’

unalias  取消别名

grep  正则匹配查找

-i  忽略大小写

-n  显示行号

例子:

grep root /etc/passwd 在 /etc/passwd文件中查找包含root的行

ls /bin | grep ‘^m’ 查找/bin目录下以m开头的文件


其它:

命令 [选项] [参数]

出问题查看帮助文档

1、内部帮助文档:命令 --help/-h

2、外部帮助文档:man 命令


netstat命令各个参数说明如下:

-t : 指明显示TCP端口

-u : 指明显示UDP端口

-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

-n : 不进行DNS轮询(可以加速操作)