linux基本命令总结

Linux常见命令的使用总结

 

文件目录

ls 

$ ls /home/cong                        #列出指定目录下的文件列表

$ ls  –a /home/cong                    #显示指定定目录下的所有文件包括隐藏文件

$ls  –l  /home/cong                     #按固定格式显示文件和目录的详细资料

$ls  –al /home/cong                    #显示文件和目录的详细资料

$ls -al  /home/*.tar.gz                  #显示指定目录后缀为tar.gz的文件

 

 

cd

$ cd /home/cong                      #切换到指定目录

$cd ..                               #切换到上级目录

$cd ../..                            #切换到上两级目录

$cd ~                               #切换到当前用户的家目录

 

 

pwd

pwd                                 #显示当前所在的目录信息

 

 

mkdir                                                      

mkdir book                        #创建一个目录  

mkdir book1 book2                  #同时创建多个目录

mkdir -p  a/b/c                     #创建多级目录

 

touch

touch ok                       #创建一个文件

 

 

rmdir

rmdir book                     #删除目录

 

 

rm

rm   book                     #删除文件,带提示

rm -r  book                   #循环删除文件或文件夹及其子文件,带提示

rm -f  book                   #强制删除文件不带提示,不能删除文件夹

rm -rf  book                  #强制循环删除一个文件或文件夹,不带提示

rm  -rf  book1 book2           #强制循环删除多个文件或文件夹,不带提示

 

 

 

 

mv

mv  book.html book           #将一个目录下文件移动到另一个目录

mv  book.html  index.html      #将文件重命名

 

 

cp

cp  index.html index.bak.html     #复制一个文件

cp  dir/* .                    #复制一个目录下的所有文件到当前工作目录

cp -a  book  books            #复制一个目录

 

 

ln

ln a  b                       #创建硬链接

ln  –s  a  c                   #创建软连接

 

源文件f1,指向f1的硬链接f2,指向f1的软链接f3

总结
1).删除符号连接f3,对f1,f2无影响;
2).删除硬连接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致符号连接f3失效;
4).同时删除原文件f1,硬连接f2,整个文件会真正的被删除。

 

file

file text.xml                 #查看文件类型

 

 

系统开关机

 

shutdown –h  now                        #立刻关机

shutdown –h  10                         #10分钟后关机

shutdown -h  12:30                       #12:30关机

shutown  -t  10  ‘shutdown …’             #10秒后关机

shutdown  -c                              #取消之前设置的定时关机

shutdown -r   +10                        #10分钟后关机并重启

shutdown -r  now                         #立刻关机重启

shutdown -k  now  “system is shutdown”     #发送警告,并不关机

 

init  0                                 #关机

halt                                      #关机

init  3                                 #由图形界面切换到命令行

 

reboot                                   #立刻重启系统

logout                                   #登录用户注销

 

 

文件搜索查看

cat

cat  info.conf                           #查看文件内容

cat  info.conf | more                     #分页查看,q退出

cat  info.conf | less                       #分页查看,q退出

more redis.conf                         #以more方式查看文件

less  redis.conf                         #以less方式查看文件

head -10 redis.conf                       #查看文件头部10行

tail -10 redis.conf                       #查看文件尾部10行

nl   redis.conf                         #查看文件内容,显示行号

 

find /root  -name  phpredis               #按文件名phpredis查找/root下的文件

find /home  -user   cong                #按所属用户查找目录下属于该用户的文件

 

locate  book                          #找出包含关键字的所有文件的路径信息

whereis  yum                          #显示一个二进制文件、源码或man的位置

which  yum                          #显示一个二进制文件或可执行文件的完整路径

 

grep                               

rpm –qa | grep nginx                         #配合管道在结果中搜索

netstat -a | grep 80

ls –al /root |grep book

cat index.php | grep conf

 

 

 

用户和群组相关

 

groupadd  cong                        #添加一个群组

groupdel  cong                        #删除一个群组

groupmod -n  acong  cong                 #重命名一个群组,前者新名,后者旧名

 

useradd lisi                            #新建一个用户

useradd –g lisi  lisi                     #添加到指定组

useradd –d /home/lisi lisi                #创建指定家目录

useradd –s /bin/bash  lisi                #指定使用的shell

useradd –g lisi  –d /home/lisi  –s /bin/bash lisi    #自定义创建用户

 

userdel  lisi                            #删除lisi用户,对应的家目录不删

userdel   –r lisi                         #删除lisi用户,对应的家目录也删除

 

usermod  –s /bin/nologin

usermod  –L lisi                         #锁定用户账户

usermod –U lisi                          #接触用户密码锁定

usermod -g lisi  –d /home/lisi  -s /bin/bash lisi  #同useradd参数一致

passwd lisi                           #修改用户密码

 

查看用户组列表,组密码详细信息

cat /etc/group

cat /etc/gshadow

 

查看用户列表,密码详细信息

cat /etc/passwd

cat /etc/shadow

 

 

文件权限相关

 

ls –al

-rw-r--r--    1 cong  cong  4096 10月 18 16:27  cong

drw-r--r--  3   cong cong  8024  10月 18 16:27  book

 

 

文件属性权限解析

文件类型【文件属性第一个位置】一般有:

d           目录,文件夹【蓝色】

-             普通文件【白色】

l             链接符

b           设备块

c         设备中的串行接口

 

 

注意:

x[可执行],比较特殊,它与文件目录息息相关,可执行权限的使用建立在可以进入该文件目录【即获得可读权限】,如果没有取得r权限,x权限无法操作目录

 

 

 

 

习题:

 

 

 

 

文件权限的修改

 

常用命令有chown  chgrp chmod

 

chgrp 改变所属用户组

chgrp [-R递归]  所属组【所属组必须存在】文件名

#chgrp –R cong  aa

 

chown 更改文件所用者【文档拥有者】

 

chown

#chown -R cong:cong aa                #递归改变文件所有者和所属组

#chown -R  cong   aa                #递归改变文件的所有者

 

 

chmod 更改文件权限

 

1)用数字设置文件权限

 

 

 

-rw--r--r--                 aa.txt

owner=r+w=4+2=6

group=r=4

other=r=4

aa.txt权限为 644

 

#chmod -R 777  aa                      #给aa文件的权限为rwxrwxrwx

#chmod -R 761  aa                      #给aa文件的权限为rwxrw---x

#chmod -R 640  aa                      #给aa文件的权限为rw-r-----

 

 

2)用算数符号设置文件权限

 

 

 

chmod

 

u

g

o

a

 

 

+ (加入)

-(除去)

=(设置)

 

 

r

w

x

 

 

文件或目录

u代表所有者权限位

g代表所属组权限位

o 代表其他组权限位

a 代表所有者,所属组和其他用户组

 

#chmod  u=rwx,go=rx      aa #755给文件所有者rwx权限,所属组和其他组rx权限

#chmod  o=rwx           aa #原有权限上,修改其他组的权限为rwx

#chmod  u=rwx,g=rw,o=r   aa  #761给文件所有者rwx权限,所属组rw权限,其他组r权限

#chmod   a+w          aa  #给文件所有者,所属组,其他组追加写权限

#chmod   u+rwx        aa  #原有权限上,给文件所有者设置rwx权限

#chmod  ug+x,o-x        aa #原有权限上给文件所有者,所属组设置x权限,其他组去掉x权限

 

 

 

umask 文件默认权限;即文件默认创建时,系统赋予文件的权限属性

#umsak

#umask  -S

 

为了保护文件安全,文件默认是不允许执行的,所以默认去掉了x权限【保证系统安全】,文件夹除外

 

例子:普通用户umask 0002

#umask             0[特殊权限位]   0    0     2

#umask –S                          u=rwx,g=rwx,o=rx

touch  a.txt                         -rw-rw-r--

 

例子:root用户umask 0022

#umask             0[特殊权限位]   0    2     2

#umask –S                          u=rwx,g=rx,o=rx

touch  a.txt                         -rw-r--r--

 

结论:知道默认权限位umask,可知道创建文件(夹)的默认权限;反之知道创建文件的默认权限,可以求出默认权限位umask

 

公式:文件默认权限+x=7-umask

 

umask 默认权限设置:

#umask 002

 

 

特殊权限位 SUID/SUIG/Sticky Bit【很重要,但不常用,自己研究】

STUID                 4

SGUID                 2

StickyBit               1

chmod    4755 a.txt         rwsr-xr-x

chmod    6755 a.txt         rwsr-sr-x

chmod    1755 a.txt         rwxr-xr-t

chmod    7666 a.txt         rwSrwSrwT 【比较特殊】

 

 

 

vivim)编辑器使用【很重要】

 

1)vi有三种模式,一般模式、命令行模式、编辑模式;当进入vi,默认就是打开一般模式;

2)模式间的切换:

         一般模式----命令行模式         输入/ 或 ? 或  :

         命令行模式----一般模式          去掉/或?或:,或执行完命令行模式

         一般模式----编辑模式           输入I,I,O,o,A,a

         编辑模式----一般模式           ESC键

 

 

#vi   a.txt                                                 编辑或创建一个文件

 

命令行模式下命令:

#/word                    #从光标位置开始向下,查找关键字word

# ?word                    #从光标位置开始向上,查找关键字word

# :n1,n2s/word1/word2/g     #从n1行到n2行,全局性的将word1替换成word2

# :1,$s/version/6/g          #从开头到结尾,全局性的将文档中version替换成6

 

#:w                     #保存编辑文件

# :wg.txt                 #将当前文档【a.txt】内容,保存到另外一个文件【g.txt】中,不存在则创建

#:w!                     #强制保存编辑的文件,是否保存成功与文件权限有关

#:q                      #离开vi,退出文件编辑

#:q!                     #强制退出编辑,不保存文件编辑内容

#:wq                    #保存并退出文件编辑

#:wq!                   #强制保存并退出文件编辑,是否保存成功与文件权限有关

#:e!                  #将文件还原到初始状态

# :setnu               #打开行号,显示文档行号

# :setnonu             #关闭行号,关闭显示的行号

 

 

编辑模式下的命令【主要是插入】

I、i     

i在光标所在处前面插入

I 在光标所在行首插入

 

A、 a

a 在光标所在处后面插入

A在光标所在行尾插入

 

O、o

o 在光标所在行的上面插入一行

O 在光标所在行的下面插入一行

 

R、r

r 替换光标所在的字符

R 连续替换光标所在行的字符

 

 

一般模式下的命令【命令较多,包括删除、复制、粘贴、光标移动】

光标移动:

0

输入数字0;移动到光标所在行行首

$

移动到光标所在行行尾

H

光标移动到屏幕最上方

M

光标移动到屏幕最中间

L

光标移动到屏幕最下方

G

光标移动到文件最后一行

gg

光标移动到文件第一行

nG

n为数字,光标移动到文件第n行,10G,即移动到第10行;1G相当于gg

n<Enter>

n为数字,<Enter>为回车键,光标向下移动n行

 

 

光标复制与粘贴:

X,x

x为向后删除一个字符【等同del键】,X为向前删除一个字符【等同为backspace键】

nx

连续向后删除n个字符;10x,连续删除10个字符

dd

删除光标所在的一整行

ndd

从光标所在行开始,向下删除n行(包括该行)

d0

d后面是数字0,删除光标所在处到该行行首字符

d$

删除光标所在处到该行行尾字符

d1G

删除光标所在行到文档行首的内容

dG

删除光标所在行到文档行尾的内容

 

yy

复制光标所在那一行

nyy

从光标所在行开始,向下复制n行(包括该行)

y0

y后面是数字0,复制光标所在处到该行行首字符

y$

复制光标所在处到该行行尾字符

y1G

复制光标所在行到文档行首的内容

yG

复制光标所在行到文档行尾的内容

 

 

p

将复制的数据粘贴到光标所在行的下一行

P

将复制的数据粘贴到光标所在行的上一行

u

恢复前一个操作,恢复上一步

J

将光标所在行的数据与下一行合并成为同一行

 

 

 

磁盘管理文件系统

 

磁盘与目录的容量

df  【diskfilesystem】磁盘文件系统

df  -a  列出所有的文件系统

df  -k  以KB为单位显示各文件系统

df  -m  以MB为单位显示各文件系统

df  -h   以GB、MB、KB等格式显示

df  -T  连同该分区的文件系统名一起列出【即新增Type显示项】

 

# df  -aT         #显示所有文件系统,并显示出文件系统类型

#df  -h /etc      #以G为单位,显示/etc 下文件系统信息

 

du    查看文件或目录容量信息

du  -a  列出所有的文件与目录容量

du  -h  以人们易懂的格式(G/M)显示

du  -k  以KB列出容量显示

du  -m  以MB列出容量显示

 

#du  -a                             #查看所有文件系统

#du  -ah /home/upload               #查看指定目录下的文件容量

 

 

 

磁盘分区:

fdisk 设备

# fdisk -l /dev/sda  #查看硬盘上的分区表

#fdisk  /dev/sda   #进入硬盘分区表

#m              #查看帮组信息

 

p

打印分区表信息

q

退出并不保存之前的操作

n

新建一个分区

d

删除一个存在的分区

m

显示出命令菜单

l

列出已知的分区类型

w

将分区表写入硬盘,并退出

 

磁盘挂载:

mount

-a                     #将所有相关的磁盘都挂载起来

-t                     #通知系统挂载文件的类型,常见有:

                       ext2、ext3等linux文件系统;

vfat、msdos等windows文件系统

iso9660为光盘文件系统;若mount后,没加-t参数,

linux默认以/etc/filesystems文件内规范的文件系统格式

-o                    #挂载时加入额外参数,比如账号、密码、读写权限

 

#将/dev/hd1挂载到 /mnt/hd上面

#mount  -t ext3 /dev/hd1 /mnt/hd

 

#挂载光盘/dev/cdrom

#mount  -t iso9660 /dev/cdrom  /mnt/cdrom

 

#挂载windows格式的U盘

#mount  -t vfat /dev/hd0  /mnt/hd

 

#以只读的方式挂载设备

#mount  -o ro /dev/hd2  /mnt/hd

 

#mount             #将所有已挂载的分区列出来

 

 

磁盘卸载:

umount     设备号/挂载点

# umount  /dev/hd2

#umount  /mnt/hd

 

 

 

文件解压与压缩命令

           

Linux压缩文件常用扩展名:.tar、.tar.gz、.tgz、.gz、.Z、.bz2、.zip

*.Z            #compress程序压缩的文件

*.bz2          #bzip2程序压缩的文件

*.zip          #zip程序压缩的文件

*.gz          #gzip程序压缩的文件

*.tar         #tar程序打包的文件但没有压缩

*.tar.gz      #tar程序打包,并由gzip压缩过的文件

 

 

compress   解压缩文件

-d            #用来解压*.Z类型的压缩包文件

-c            #将压缩数据输出为标准输出

-r            #递归压缩,连同目标文件夹下的子文件一同压缩

 

 

compress

创建文件info.txt ,到/tmp目录,用compress打包成info.txt.Z

#rmp –qa| grep compress       #检查是否安装compress程序

#yuminstall  ncompress       #没装的话,安装ncompress

#touch   /tmp/info.txt        #创建文件info.txt ,到/tmp目录

#vi/tmp/info.txt              #info.txt中加入内容,保存退出

#compress  /tmp/info.txt      #用compress打包成info.txt.Z

 

 

解压info.txt.Z压缩包文件

#compress –d info.txt.Z        #解压*.Z类型的压缩文件

 

 

将info.txt压缩成为另一个文件info.txt.bak.Z用来备份

#compress  –c info.txt > info.txt.bak.Z 

 

zip 压缩文件

-r                         #当前目录下的所有文件和文件夹全部压缩【递归】压缩

-d                         #删除压缩包里面指定的文件【压缩包不包括文件夹】

 

Zip

 

将 /root/books文件夹递归打包成books.zip

# cd /root                     #切换到/root目录

# zip  -r /root/books          #递归打包,文件夹及子文件都打包

 

将 /root/index.html、about.html打包成books.zip

#cd  /root                         #切换到/root目录

# zip –rbooks.zip index.html b.html    #zip实现多个文件打包

 

 

 

unzip 解压文件【针对*.zip文件,进行解压】

-o                       #覆盖源文件

-d                       #设置解压目录

 

unzip

 

/home/upload下有b.html ,books.zip,而books.zip里面包含index.html和b.html,将books.zip解压且覆盖b.html

#cd/home/upload              #切换到用户upload 家目录

# unzip–o books.zip            #解压*.zip压缩包,覆盖同名文件

 

将/root下books.zip文件解压到/home/upload目录下

# cd/root                     #切换到/root目录下

#unzip  -d /home/upload       #将*.zip文件解压到指定目录下

 

 

 

 

gzip   解压缩文件

-d            #用来解压*.gz类型的压缩包文件

-c            #将源文件打包压缩以标准输出方式创建备份压缩包文件

 

 

 

gzip

将文件test.txt ,移到/tmp目录,用gzip打包成test.txt.gz

#mv  test.txt  /tmp     #将文件test.txt ,移到/tmp目录

#gzip  /tmp/test.txt       #将文件打包成*.gz格式

 

 

将test.txt.gz 解压为test.txt

#gzip  –d /tmp/test.txt.gz       #gzip解压*.gz类型文件

#gzip  –c /tmp/test.txt > /tmp/test.txt.bak.gz        #gzip解压*.gz类型文件

 

 

 

bzip 解压缩文件

-d     #用来解压*.bz2类型的压缩包文件

-c     #将源文件打包压缩以标准输出方式创建备份压缩包文件

-z     #解压*.bz2类型压缩包文件

 

 

bzip

 

将文件bbs.txt ,移到/tmp目录,用bzip2打包成bbs.txt.bz2

#mv  test.txt  /tmp     #将文件test.txt ,移到/tmp目录

#bzip2  -z /tmp/test.txt       #将文件打包成*.gz格式

 

将bbs.txt.bz2 解压为bbs.txt

#bzip2  –d /tmp/bbs.txt.bz2   #解压*.bzip2类型文件

 

将bbs.txt 压缩为bbs.txt.bak.bz2文件备份

#bzip2  –c /tmp/bbs.txt  >  /tmp/bbs.txt.bak.bz2   #解压*.bzip2类型文件

 

 

tar  解压缩文件

-z                    #文档是否拥有gzip属性,即用gzip压缩文件

-j                    #文档是否拥有bzip2属性,即用bzip2压缩文件

-x                   #解压压缩文件的参数【核心】

-c                   #创建压缩文件的命令【核心】

-v                   #压缩的过程中显示文件名

-f                   #创建文件名

-p                   #使用绝对文件路径来压缩

 

 

 

tar

 

将test.txt 文件,压缩为 test.tar

#tar  -cf test.tar  test.txt   #将test.txt压缩出test.tar文件【test.txt依旧存在】;

 

将 test.tar 解压出来

#tar  -xf test.tar      #解压出来的文件为原文件【test.tar依旧存在】

 

 

将 test.txt 压缩为 test.gz文件

# tar –zcvf  test.gz test.txt

 

将test.gz压缩包解压

#tar   –zxvf   test.gz                #将*.gz压缩包文件,解压出来

 

 

网络管理与网络服务

 

 

ifconfig【interface config】查看网络信息,包括本地网络,局域网网络信息(如ip,网卡地址,设备名等)

 

查看本地网络设备和ip地址信息

#ifconfig

 

查看网卡eth0,信息

#ifconfig eth0

 

关闭/停用网卡设备eth0

#ifconfig eth0 down

 

打开/激活网卡设备 eth0

#ifconfig eth0 up

 

设置ip地址

#ifconfigeth0 192.168.0.245

 

 

 

 

ping  测试网络连通状态

 

测试网络默认网关连通状态

# ping  192.168.0.1

 

测试外网连接状态

#ping  www.baidu.com

 

 

 

 

linux防火墙,iptables

 

 

 

 

进程,端口,资源使用,系统模块查看命令

ps                           #列出系统中当前运行的那些进程 【用法: ps –ef  或 ps -aux】

top                          #动态的显示进程信息【用法:top】

free                         #显示Linux系统中空闲的、已用的物理内存及swap内存,及内核缓存                   

uname                       #查看系统内核版本号【用法: uname –r】

netstat                       #显示各种网络相关端口信息【用法:netstat -tunpl】

dmesg                       #查找设备信息 【用法: dmesg | grep eth0 】

lsmod                       #查找模块信息 【用法: dmesg | grep bluetooth 】

 

 

 

Shell编程

 

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值