Linux基本命令

             Linux常用命令总结

帮助:

可以通过 type 查看命令是内部还是外部命令:type cp

  1. 内部命令可以通过:help 命令  例子: help cd
  2. 外部命令可以通过:命令 --help  例如:ls --help
  3. 可以通过man命令获取命令帮助: 例如: man cd   whatis 查看都有哪些man章节 不分内部和外部命令

Ls

-h:做单位转换

-a: 显示以.开头的隐藏文件     命令:mv 1.txt   .1.txt(将文件隐藏)

. 表示当前目录

.. 表示父目录

-d: 显示目录自身属性

-i: index node, inode    显示该目录有多少文件

-r: 逆序显示

-R: 递归(recursive)显示

 ls -l:长格式,长格式查看结果

cat /proc/cpuinfo

查看cpu信息

cat /proc/meminfo

查看内存信息

free

查看内存使用情况

uptime

监控CPU情况

cat /etc/redhat

release

查看发行版信息

hostname

查看主机名

ip addr

查看ip信息

ifconfig

查看ip信息

netstat

查看网络连接信息、路由表等,常用来查看端口

打开情况

fdisk -l

查看硬盘信息

df

查看设备挂载信息

touch   创建文件

echo       将用户输入的内容,显示在屏幕上。通常结合着“>”重定向符号,用来在文本文件中,添加数据,“>>” 表示追加。

cat     用来显示文件的内容

[root@localhost ~]# cat > testfile << EOF

> Hello World!

> welcome to china

> EOF

tac 倒序查看文件内容

more 显示文件内容,每次显示一屏

less 分屏上下翻页浏览文件内容,用PageUp键向上翻页,用PageDown键

向下翻页

head 显示文件开头,默认开始10行

tail 显示文件结尾,默认结尾10行

-f 监控某个文件变化

wc 统计文件的行数\单词数\字符数

-l 行数

-w 单词数

-c 字符数

du 统计文件和目录的大小

-s 汇总显示大小

-h 易读形式显示

ls         查看目录内容

cd       切换目录

pwd    查看当前目录位置

mkdir  创建目录、

       -p 创建多级目录

rmdir   删除空目录

rm     可以删除一个目录中的一个或多个文件或目录

-f 强制删除

     -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

mv   用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

cp   用来将一个或多个源文件或者目录复制到指定的目的文件或目录。

-f:强行复制文件或目录,不论目标文件或目录是否已存在

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

vim

三种模式:命令模式、插入模式、末行模式

i I a A o O 进入到插入模式

i: 在光标当前位置插入

I: 在光标所在行首插入

a: 在光标所在位置后插入

A: 在光标所在行尾插入

o: 光标所在行下方另起一行插入

O: 光标所在行上方另起一行插入

 末行模式 w 保存 q 退出 wq保存并且退出 !: 强制 三者可以结合使用 (ZZ: 保存并且推出)

 命令行模式: dd 删除[剪切] yy 复制 [n]yy 多行复制 p 粘贴

vim windows linux文件格式转换

:set ff? #显示当前文件格式

:set ff=unix #设置成unix格式

:set ff=dos #设置成dos格式

命令模式下的操作:

行间快速跳转 1G或者gg 跳转到文件的首行

G 跳转到文件的末尾行

#G 跳转到文件中的第#行

行号显示 :set nu 在编辑器中显示行号

:set nonu 取消编辑器中的行号显示

删除 x或Del 删除光标处的单个字符

dd 删除当前光标所在行

#dd 删除从光标处开始的#行内容

d^ 删除当前光标之前到行首的所有字符

d$ 删除当前光标处到行尾的所有字符

复制 yy 复制当前行整行的内容到剪贴板

#yy 复制从光标处开始的#行内容

粘贴 p 小写 将缓冲区中的内容粘贴到光标位置处之后

P 大写 粘贴到光标位置处之前

查找 /word 从上而下在文件中查找字符串“word”

?word 从下而上在文件中查找字符串“word”

n 定位下一个匹配的被查找字符串

N 定位上一个匹配的被查找字符串

取消操作 u 按一次取消最近的一次操作

多次重复按u键,恢复已进行的多步操作

U 用于取消对当前行所做的所有编辑

保存退出 ZZ 保存当前的文件内容并退出vi编辑器

末行模式的操作:Shift + :

1、保存文件 :w 保存修改的内容

:w /root/newfile 另存为其它文件

2、退出vi :q 未修改退出

:q! 放弃对文件内容的修改,并退出vi

3、保存文件退出vi :wq 保存修改的内容并退出

4、打开新文件 :e ~/install.log 打开新的文件进行编辑

5、读入其它文件内容 :r /etc/filesystems 在当前文件中读入其他文件内容

6、替换 :s /old/new 将当前行中查找到的第一个字符“old” 串替换

为“new

:% s/old/new/g 在整个文件范围内替换所有的字符串“old”

为“new”

Zip

默认后缀名.zip

# zip test.zip test.txt

解压缩 : unzip

-d 指定解压路径

# unzip test.zip -d /tmp/

gzip

# gzip 1.txt

默认后缀名为  .gz

默认会删除源文件

-# 指定压缩比(1~9)

1级别最低,速度最快,压缩率最低;9级别最高,速度最慢,压缩最高。

解压 gunzip

# gunzip 1.txt

bzip2

# bzip2 1.txt

默认会删除源文件

默认后缀名为  .bz2

-#:指定压缩比

-k: 保留原文件

解压缩:bunzip2

# bunzip2 1.txt

xz压缩

# xz 1.txt

-k : 保留原文件

解压:unxz

# unxz 1.txt

tar 既可以打包,又可以压缩

语法格式:tar+选项+包名+打包的文件

# tar   -zcvf   test.tar.gz   test.txt

-c 创建归档文件(必须加)

-f 后边加操作文件(必须加)

-C: 解压时指定路径

-r :向包中追加文件

-v :显示详细过程

-x:展开归档

-zcf: 归档并调用gzip压缩

-zxf: 调用gzip解压缩并展开归档

jcf: 归档并调用bzip2压缩

-jxf: 调用bzip2解压缩并展开归档

解包

# tar test.tar.gz

-C:指定解压路径

-t:不解包查看包中的内容  # tar -tf

-r:向包中追加文件,不能追加压缩的文件

root@base tmp]# tar -rf t.tar t8.txt

which用来查找命令的绝对路径(外部命令)

命令的别名: alias   

设置命令的别名

# alias vi='vim'

# vi /etc/passwd   //执行vi时候,实际上执行的是vim

永久改文件

vim /root/.bashrc

取消别名

# unalias vi

查找  find

语法:搜索路径+选项+动作

# find /etc/ -name network

// 查找/etc目录下名字包含.cfg的文件,并统计有多少个文件。

]# find /etc/ -name *.txt | wc -L   

 | 将前边命令的标准输入,作为后边命令的标准输出

1.-name 按照文件名查找

通配符

* 代表任意字符

? 代表单个字符

# find /etc/ -name *.conf

2. 按照文件类型查找 -type

f:普通文件

# find / -type f  查找根目录下的普通文件

3.按照时间查找 -atime

以n等于7为例

搜索根目录最近七天内被访问过的所有文件

find . -type f -atime -7

搜索恰好在七天前被访问过的所有文件

find . -type f -atime 7

搜索超过七天内被访问过的所有文件

find . -type f -atime +7

搜索访问时间超过10分钟的所有文件

find . -type f -amin +10

4.按照用户和组查找

-user 用户名

-group 组名

-nouser:孤儿文件  没有所有者的文件

-nogroup:没有所属组的文件

举例:查看系统中所有者属于user1的普通文件

# find / -user user1 -type f

5.按照权限查找 -perm

r:4 读  w:2 写  x:1 执行

//查找find目录下,小组权限为可写的文件。

# ll `find ./ -perm -g=w -type f`

6.按照文件大小查找 -size

//查找目录下,文件大小大于3M大小的文件。

# find . -type f -size +3M

动作

-exec 动作  找到结果之后直接执行动作

-ok 动作   执行动作之前先提示,即需要交互

举例:查找根目录下大于3M的文件并ls -l展开

# find . -type f -size +3M -exec ls -l {} \;

查找/test目录下类型为普通文件的文件,对其进行备份,备份文件的后缀名为.bak

# find /test -type f -exec cp {} {}.bak \;

sort排序

-t:指定字段分隔符

 -k:指定第几个字段

-n:按照数字顺序排序

-r:反向排序

u:排序后重复行只打印一次

# cat sort.txt

//对输出内容直接排序,默认按照每行的第一个字符进行排序

# cat sort.txt | sort

//使用“:”做分隔符,对第2个字段进行排序

# cat sort.txt | sort -t ":" -k 2

uniq 去重,唯一

-c 显示重复行数

# uniq num.txt

使用uniq时,一般先排序,再去重

# sort num.txt | uniq

# sort num.txt | uniq -c      显示重复行数

用户与组

系统文件:

/etc/passwd: 保存用户信息的文件

/etc/shadow: 保存用户密码相关信息的文件

/etc/group: 保存组信息的文件

/etc/gshadow:保存组密码相关信息的文件

一般查看文件可以使用 cat ,head, tail 命令

# head -1 /etc/passwd

# cat /etc/gshadow

# tail -1 /etc/shadow

/etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:密码占位符:UID:GID:描述信息:家目录:登录shell

/etc/shadow

usr1:$6$WiavDI7M$ZFylLEIsO4Be7y.Wf86ACUxan62twIkync7B9p7WF1ZgQHwJ8GxWpJHqdef6Pv8GaDs.vrznm1crsTrexG31Q/:18849:0:99999:7: : :

  1. 用户名
  2. 加密后的密码
  3. 上一次密码修改时间(单位是天,是距离1970年1月1日 多少天)
  4. 密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内 不能修改
  5. 密码最大生存周期 单位:天,密码使用的最长时间
  6. 密码到期前几天开始警告
  7. )密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天
  8. 账户过期时间
  9. 保留列

/etc/group

root:x:0:

组名:密码占位符:GID:用户列表

/etc/gshadow

root :  :  :  

组名: 加密后的密码:组管理员:组成员

用户

对用户的常用操作:

新增、删除、修改、查看、设置密码

查看用户  id

[root@base ~]# id user1

]# whoami  //查看当前用户是谁

uid:用户标识

gid:组标识,用户的主组

groups:用户所属组信息

  1. 添加用户 useradd

# useradd user1

-c:注释性的描述信息

 -d:指定用户的家目录

默认情况下:

root的家目录是/root

普通用户的家目录是/home

-g:指定用户的主要组,前提:组是必须存在的

-G:指定用户的附加组(附属组),前提:组是必须存在的

-s:指定用户的登录shell

-u:指定用户的uid

  1. 给用户设置密码

# passwd user1

或者明文设置密码

# echo 123.com | passwd --stdin user1

//切换用户操作

# su - user1

  1. 删除用户 userdel

-r:可以干净的删除一个用户

# userdel -r user1

  1. 修改用户(常用) usermod

-G:修改用户的附属组,不管用户原来的附属组如何,直接覆盖

-g:修改用户的主要组

-a:一般和-G联合使用,追加附属组

-u:修改用户的uid

-d:修改用户的家目录

-L 锁定用户

-U 解除锁定

-l 改名

-s:修改用户的shell

要求区分的两种shell

 /bin/bash:可登录shell,如果用户的shell是这个,那么该用户可 以登录到系统中 /sbin/nologin:非登录shell,如果用户的shell是这个,那么该用户 是不允许登录到系的

]# echo $SHELL   //查看当前shell,echo可以用来打印变量

/bin/bash

修改user1的shell为非登录shell

]# usermod -s /sbin/nologin usr1

]# grep usr1 /etc/passwd            

//仅过滤出文件中含有usr1的行(一般用来显示nologin的非shell登录的用户)

  1. 添加组 grouped

]# groupadd g1 –

-g:添加组时,指定gid是多少

  1. 修改组:groupmod

修改组的名字 : -n 新名字

]# groupmod -g 1080 -n group2 g2

  1. 删除组:groupdel

]# groupdel group1

]# grep group1 /etc/group

//没有任何输出,表示文件中没有含有 group1关键字的行

  1. 组管理:gpasswd
  1. 指定组的管理员列表

  gpasswd + -A +用户 +组

]# gpasswd -A u1 groups

2.向组中添加新成员

gpasswd +  -a +用户 +组

gpasswd -a user1 groups

3.给组设密码

]# gpasswd groups

4.将用户从组里删除

]# gpasswd -d user1 groups

用户与组常用命令       

useradd username

添加用户(创建的时候可以指定u、g、c等选项)

id username

查看当前用户的ID

whoami

查看当前用户的名字

passwd username

设置用户密码(普通用户只能通过passwd修改自己本身密码)

userdel username

删除一个用户(-r 选项会连同创建的家目录一同删除)

groupadd groupname

创建组

groupdel groupname

删除组(用户的主要组不可以删除)

usermod -[u,g,G等]

username

修改用户信息

groupmod groupname

修改组的信息

gpasswd -A username

groupname

为组添加一个管理员

gpasswd -a usrname

groupname

用组管理员为组添加一个用户成员

gpasswd -d username

group

删除一个组成员

gpasswd groupname

为组设定一个密码

文件权限

基本权限

r, w, x:可读、可写、可执行。

文件:

r:可读,可以使用类似cat等命令查看文件内容;

w:可写,可以编辑或删除此文件;

x: 可执行,executable,可以命令提示符下当作命令提交给内核运行;         r单独存在,可查看文件内容

w单独存在,看不到文件内容,但是可以强制修改文件内容,会覆盖原文件内容,单独存在,意义不大

x单独存在,毫无意义

目录:

r:  可以对此目录执行ls以列出内部的所有文件;

w: 可以在此目录创建、修改、删除文件;

x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;

只有r权限时,可以读(有报错),不能写,也不能进入目录           

只有w权限时,毫无意义

只有x权限时,只能进入,不能读,不能写

目录的rw权限:可以查看内容,不可以进入目录,不能删除目录或它里面的文件

目录的rx权限:可以查看内容,可以进入目录,不可修改目录的内容目录的wx权限:不可以查看目录内容,可以进入目录,可以删除目录下的文件,前提是你需要知道目录下有什么文件

权限针对的三类用户:

U : user   属主

g :  group  属组

o :other 其他用户

// ls -l 命令显示的意义

第一栏代表这个文件的类型与权限

第一个字符代表这个文件是“目录、文件或链接文件等等”:

当为[ d ]则是目录,例如上表文件名为“.config”的那一行;

当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”一行;、

若是[ l ]则表示为链接文件(link file);

若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);

若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)

接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合。其中, [ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行 (execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限, 就会出现减号[ - ]而已。

第一组为“文件拥有者可具备的权限”;

第二组为“加入此群组之帐号的权限”;

第三组为“非本人且没有加入本群组之其他帐号的权限

举例:

若有一个文件的类型与权限数据为“-rwxr-xr--”,请说明其意义为何?

所有者:可读、可写、可执行(rwx)

所属组:本例中为可读可执行(rx)

其他人:只读

第二栏表示有多少文件名链接到此节点

第三栏表示这个文件(或目录)的“拥有者账号”

第四栏表示这个文件的所属群组

第五栏表示这个文件的容量大小,默认单位是Bytes

第六栏表示这个文件的创建日期或者是最近修改日期。

第七栏为这个文件的文件名

修改文件的属性和权限

chgrp :改变文件所属群组 chown :改变文件拥有者

chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

修改文件权限,chmod 命令的使用。  a=所有人

更改权限方面也可以使用数字来代表权限

各权限的分数对照表如下

r:4     w:2    x:1

默认权限:umask

隐藏权限

//查看文件的隐藏权限,lsattr命令。

特殊权限和Facl

SUID: 运行某程序时,相应进程的属主是程序文件自身的属主,而不是用户本身了,只对二进制程序有效,执行者对于程序需要有x权限

SGID

对于文件:运行某程序时,相应进程的属组是程序文件自身的属组,而不是用户本身的基本组

对于目录:

用户对此目录有rx权限可以进入目录

用户进入此目录后,有效用户组会变成该目录的用户组

若用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同

Sticky (BIT)

特殊权限的数字表达方式:

SUID是4 SGID是2 SBIT是1 同样如果拥有多个特殊权限,数字相加即可。

FACL

文件系统访问控制列表

FACL:filesystem access control list

利用文件的扩展属性,保存了额外的访问控制权限

getfacl 查看、setfacl 设置

语法:setfacl [-bkRd] [-m|-x acl 参数] 目标文件名

选项与参数:

-m:设置后续的acl参数,不可与-x一起使用

-x: 删除后续的acl参数,不可与-m一起使用

-b:删除所有的acl参数

-k:删除默认的acl参数

-R:递归设置acl参数

-d:设置默认acl参数,只对目录有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sandman"

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值