Linux Basics: Linux under common commands

Common Commands

shutdown

For system shutdown command. shutdown command will disable all programs, and according to the needs of the user, to re-turn on or off operation.

shutdown (option) (parameters)

-c:     当执行“shutdown -h 11:50”指令时,shutdown -c就可以中断关机的指令;
-f:     重新启动时不执行fsck;
-F:     重新启动时执行fsck;
-h:     将系统关机;
-k:     只是送出信息给所有用户,但不会实际关机;
-n:     不调用init程序进行关机,而由shutdown自己进行;
-r:     shutdown之后重新启动;
-t<秒数>:送出警告信息和删除信息之间要延迟多少秒。

After 5 minutes off specified, while sending a warning message to the user to sign:

shutdown -h +5 "System will shutdown after 5 minutes"

Command & then, represent the background, you can use the -c argument cancel command execution

shutdown -h +5 &        #5分钟后关机,后台执行
shutdown -c             #取消命令执行

useradd

Add User command

useradd [option] username

-u      指定UID
-d      指定家目录
-g      指定基本组
-G      指定附加组
-e      指定失效时间(格式:yyyy-mm-dd)
-M      不建立家目录
-s      指定用户的登录shell
useradd -u 504 -d /home/admin -g admin -G root user1
    #添加一个UID为504,家目录为/home/admin,基本组为admin,附加组为root,用户名为user1的账户
useradd -s /bin/nolgin -M user2
    #添加一个禁止登陆,没有家目录的账户user1

userdel

Delete user accounts

-r      删除用户及其家目录

usermod

Modify user account properties

-d      修改登入目录(只修改passwd文件)
-g      修改基本组
-G      修改附加组
-l      修改账号名称
-m      修改家目录(和-d一起使用)
-u      修改用户ID
-L      锁定用户密码,使密码无效
-U      解除密码锁定
usermod  -md  /home/test  user1 #修改用户家目录为/home/test
usermod  -l  admin  user1       #修改user1用户的用户名为admin

passwd

User management, change user passwords

-d      删除密码,仅管理员使用
-l      锁定密码,用户不能更改
-u      解锁用户
passwd user1    #更改用户user1的密码

id

View user information

-g或--group   显示用户所属群组的ID。
-G或--groups   显示用户所属附加群组的ID。
-n或--name    显示用户,所属群组或附加群组的名称。
-r或--real    显示实际ID。
-u或--user    显示用户ID。
-help         显示帮助。
-version      显示版本信息。
id user     

his

Switching user identity

-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
-f或——fast:适用于csh与tsch,使shell不用去读取启动文件;
-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
-m,-p或--preserve-environment:变更身份时,不要变更环境变量;
-s<shell>或--shell=<shell>:指定要执行的shell;
--help:显示帮助;
--version;显示版本信息。

Add "-" next to switch home directory, not the directory before adding inherit

su - user1      #切换到user1用户同时切换到家目录下

groupadd

Create a set of commands

-g      指定GID
-r      创建系统工作组,GID<500
[root@CentOS ~]# groupadd study
[root@CentOS ~]# cat /etc/group|grep "study"    #查看study组信息
study:x:668:

groupdel

Deleting User Groups

Note: You can not have a user group with the basic group deletes.

[root@CentOS ~]# groupdel user1     #删除用户组user1

groupmod

Modify the set of parameters

-n      修改名称
-g      修改PID
[root@CentOS home]# tail -n 2 /etc/group 
lyf:x:667:
study:x:668:
[root@CentOS home]# groupmod -n liyuanfu lyf        #修改lyf组组名为liyuanfu
[root@CentOS home]# tail -n 2 /etc/group        #查看组
study:x:668:
liyuanfu:x:667:

gpasswd

Add Remove group member

-a      添加组成员
-d      删除组成员
[root@CentOS ~]# cat /etc/group|grep "root"     #查看root组下有哪些成员
root:x:0:user1
[root@CentOS ~]# gpasswd -d user1 root      #删除root组成员user1
Removing user user1 from group root
[root@CentOS ~]# cat /etc/group|grep "root"
root:x:0:

groups

groups Username

Query a user account belongs to the group

[root@CentOS home]# gpasswd -a 360 root     #添加360到root用户组
Adding user 360 to group root
[root@CentOS home]# groups 360          #查看360用户所属组
360 : 360 root

What to see the current group

[root@CentOS ~]# cat /etc/group
root:x:0:user1
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
格式:组名称:占位符:GID:附加组成员         #只显示附加组

pwd

View current directory, displayed an absolute path

[root@CentOS 360]# pwd
/home/360

cd

Change directory

cd ~ 用户名          直接切换到指定用户家目录
cd ..               切换到上一级目录
cd -                切换到上一个工作目录
cd /                切换到根目录

ls

File management commands

-a      显示所有文件,包括隐藏文件
-A      显示所有文件,不包括.与..
-l      显示文件或目录的详细信息
-d      指定目录查看,仅显示目录名,不显示目录下内容列表
-o      在-l的基础上取消了所属组的显示
-m      使用“,”分割显示的文件、目录
-n      以用户识别码和群组群组识别码替代其名称
-S      按大小排序,降序
-h      以可读方式显示文件大小 
-r      反向排序
-i      显示索引节点号(inode)
[root@CentOS /]# ls -l
total 102
dr-xr-xr-x.   2 root root  4096 Mar 16 20:34 bin

mkdir

Create a directory command, you can create multiple directories at the same time

-p      递归创建

rmdir

Used to delete empty directories

-p      递归删除

rm

To delete a file or directory

-f      强制删除
-r      删除非空目录,递归删除

touch

New File or modification timestamps

直接使用可以创建文件
-a      更改访问时间
-m      更改修改时间
-d      修改时间戳为指定时间
-t      使用指定时间,而非现在时间(定位到“分”)
-c      更新时间,不建立任何文档

Timestamp: Access time (access), modified (modify, modify the contents of the file), change the time (change, change file attributes Time)

stat

View the file information (including a timestamp)

cp

Copy the file or directory

-a      保留链接、文件属性,并复制目录下所有内容,此参数的效果和同时指定"-dpR"参数相同**
-d      当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f      强行复制文件或目录,不论目标文件或目录是否已存在;
-i      覆盖既有文件之前先询问用户;
-l      对源文件建立硬连接,而非复制文件;
-p      保留源文件或目录的属性;
-R/r    递归处理,将指定目录下的所有文件与子目录一并处理**
-s      对源文件建立符号连接,而非复制文件;
-u      使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S      在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b      覆盖已存在的文件目标前将目标文件备份;
-v      详细显示命令执行的操作。

mv

Moving Files

-b          当文件存在时,覆盖前,为其创建一个备份
-u          当源文件比目标文件新或者目标文件不存在时,才执行移动操作
-f          若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
-S<后缀>:   为备份文件指定后缀,而不使用默认的后缀
mv /usr/men/* .     #移动指定目录所有文件到当下目录

cat

View the file contents

-n      由1开始对输出行数编号
-b      同-n,但是对空白行不编号
-s      将多个空行压缩为一行

cal

Calendar displays the current calendar, or a specified date

-l      显示单月输出
-3      显示临近三个月的日历
-s      将星期日作为月的第一天
-m      将星期一作为月的第一天
-j      显示“julian”日期
-y      显示当前年的日历

more、less

Page display file contents

more can page down, not up, read the end of the reading mode automatically exit

less you can flip up and down, need to press "q" to exit the read mode

more /etc/passwd
less /etc/group

The beginning of the file display

-n      指定显示多少行

tail

Display file contents end

-n      指定显示多少行
-f      显示追加的内容,常用语查看日志(仅tail支持)

wc

The number of lines in the specified file statistics, words, bytes

-l      显示统计的行数
-w      显示统计的单词数
-c      显示字节数

find

According to the specified criteria to allow the use of wildcards for attribute lookup

find [Look] Options - Parameters

查找文件需要加引号
-name       按文件名查找,允许使用通配符
-type       按照文件类型查找 (f:普通文件)
-user       按照文件所有者查找
-size       按照文件大小查找
-maxdepth   设置最大目录级别
-iname      不区分大小写
-not或!     非,取反
-empty      空
-expty      寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录
[root@CentOS test]# find ./ -name "*.txt"       #查找当前目录下“.txt”文件
./test1.txt
./test.txt

[root@CentOS test]# find . ! -name "*.txt"      #查找当前目录下不是.txt格式的文件
.
./Test.log
[root@CentOS test]# find . -not -name "*.txt" 
.
./Test.log

grep

Specify the conditions search filters, look for the content, allows the use of regular expressions

-v      排除查找,查找不符合条件的行
-c      显示符合条件的行数
-n      显示符合条件的行的行号
-i      不区分大小写
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E      将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。

Regular Expressions:

ln

Creating link files (soft links and hard links)

​ 不能给一个目录创建硬链接,不能在不同文件系统间创建硬链接

​ 可以创建任何指向目录的软链接

磁盘空间:inode、block

​ inode:索引号 ​block:存放文件数据

默认创建硬链接         
-s      创建软链接

history

查看历史记录

! num       执行对应编号的历史记录命令
history 3   查看最近执行过的3条历史命令

echo

打印字符串

$       后接全局变量
\       转义,还原字符本身
` `     命令放在反引号中会被执行

>

输出重定向

>       覆盖
>>      追加
>!

date

显示或设置系统时间与日期。

-d<字符串>     显示字符串所指的日期与时间。字符串前后必须加上双引号
-s<字符串>     根据字符串来设置日期与时间。字符串前后必须加上双引号
-u            显示GMT
--version      显示版本信息
%H 小时,24小时制(00~23)
%I 小时,12小时制(01~12)
%k 小时,24小时制(0~23)
%l 小时,12小时制(1~12)
%M 分钟(00~59)
%p 显示出AM或PM
%r 显示时间,12小时制(hh:mm:ss %p)
%s 从1970年1月1日00:00:00到目前经历的秒数
%S 显示秒(00~59)
%T 显示时间,24小时制(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%Z 显示时区,日期域(CST)
%a 星期的简称(Sun~Sat)
%A 星期的全称(Sunday~Saturday)
%h,%b 月的简称(Jan~Dec)
%B 月的全称(January~December)
%c 日期和时间(Tue Nov 20 14:12:58 2012)
%d 一个月的第几天(01~31)
%x,%D 日期(mm/dd/yy)
%j 一年的第几天(001~366)
%m 月份(01~12)
%w 一个星期的第几天(0代表星期天)
%W 一年的第几个星期(00~53,星期一为第一天)
%y 年的最后两个数字(1999则是99)

cut

显示行中的指定部分,删除文件中指定字段

-d 分隔符      #指定分隔符,默认为Tab
-f            #指定显示列数
-c            #单位改为字符
 cut命令可以将一串字符作为列来显示,字符字段的记法:
    N-:     从第N个字节、字符、字段到结尾;
    N-M:    从第N个字节、字符、字段到第M个(包括M在内)字节、字符、字段;
    -M:     从第1个字节、字符、字段到第M个(包括M在内)字节、字符、字段。
上面是记法,结合下面选项将摸个范围的字节、字符指定为字段:
    -b      表示字节;
    -c       表示字符;
    -f      表示定义字段。

chgrp

改变文件所数群组

chgrp 参数 组 文件

-c      发生改变时输出调试信息
-R      递归修改,处理指定目录以及其子目录下的所有文件
-v      运行时显示详细的处理信息
[root@CentOS test]# chgrp -v -R group1 test1.txt   #修改文件test.txt所属组为group1
changed group of `test1.txt' to group1
[root@CentOS test]# chgrp -v -R group1 file   #将file目录及其所有子文件所属组改为group1
changed group of `file/log' to group1
changed group of `file' to group1

chown

改变文件拥有者

chown 选项 所有者(:组) 文件

-c      显示更改的部分信息
-R      处理指定目录以及其子目录下的所有文件
-v      显示详细的处理信息
[root@CentOS test]# chown user3:root test.txt   #修改文件属主、zhuzu属组

chmod

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

u       user,即文件或目录拥有者
g       group,即文件或目录所属群组
o       other,除了文件或目录拥有者之外的用户都属于其他人
a       all,即全部用户,包含拥有者,所属群组以及其他用户
权限位表示:
r       读取权限,数字代号4
w       写入权限,数字代号2
x       执行权限,数字代号1
-       空权限,数字代号0
-c      显示更改的部分
-R      递归处理,将指令目录下的所有文件及子目录一并处理
-v      显示指令执行过程
chmod u+x,g+w,0+r file      给文件添加属主执行,属组写入,其他人读取权限
chmod 764 file              
chmod u=rwx,g=rw,o=r file
chmod a+x file      u,g,o都设置可执行权限

umask

查看权限设置

​ 设置后临时生效,永久生效需要改变配置文件

​ 默认权限:0022

第一位0:特殊权限位

​ 002:文件默认权限

目录默认最大权限777,文件默认最大权限666

文件默认权限计算

ping

测试网络联通性

​ 命令所在路径:/bin/ping

-c      指定数据包数量(发送次数)

last

显示用户最近登录信息

​ 单独执行,读取/var/log/wtmp文件内容

-n      设置显示列数
-R      不显示登入系统的主机名称或IP
-x      显示系统关机,重新开机,以及执行等级的改变等信息

显示5行

ifconfig

查看网络配置

功能:修改mac地址;查看指定接口信息;启动、关闭网卡;启动、关闭协议;修改IP地址

up      启动指定网卡设备
down    关闭指定网卡设备
-a      显示全部接口信息
-s      显示摘要信息(类似netstat -i)
ifconfig eth0 up    启动eth0网卡        ##只是临时生效
ifconfig eth0 down  关闭eth0网卡
ifconfig etho hw ether 01-01-01-01-01-01    修改MAC地址
ifconfig eth0 192.168.56.128    配置IP地址
ifconfig eth0 192.168.56.128 netmask 255.255.255.0
ifconfig eth0 arp       启动ARP协议
ifconfig eth0 -arp      关闭ARP协议

route

查看和操作IP路由表

-n      不解析名字
-v      显示详细的处理信息
-F      显示发送信息
-C      显示路由缓存
add     添加一条新路由
del     删除一条路由
-net    目标地址是一个网络
-host   目标地址是一主机
netmask 当添加一个网络路由时,需要使用网络掩码
gw      路由数据包通过网关(指定网关必须能够到达)

添加网关/设置网关

删除路由记录

service

设置Linux服务的状态

​ 可以运行service脚本文件来停止或启动网络连接。/sbin/service是一个脚本文件,它通过检查/etc/init.d目录中的一系列脚本文件来识别各个服务,并调用这些脚本从而实现对服务的控制。

​ 语法:service 服务名 start / stop / restat / status(服务状态) / reload(重新加载)

​ 相当于/etc/init.d/服务名

​ 服务名应该在/etc/init.d中出现,否则会显示服务未被认可。

注意:使用该命令时网络会造成中断。提供服务时慎用,ifdown和ifup可以对指定网卡进行操作。

hostname

​ 直接使用显示系统主机名

更改系统主机名:

/etc/sysconfig/network配置文件也可以修改主机名

traceroute

​ 跟从本地和远程主机之间的UDP数据包,根据收到回应的情况,用户可以网络故障可能的位置

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数

据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本

上来说大部分时候所走的路由是相同的。

​ traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个

设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

-n      直接使用IP地址而非主机名称,不必进行主机的名称解析,只用IP,速度较快
-d      使用Socket层级的排错功能
-F      设置勿离断位
-I      使用ICMP回应取代UDP资料信息;
-r      忽略普通的Routing Table,直接将数据包送到远端主机上
-x      开启或关闭数据包的正确性检验
-v      详细显示指令的执行过程
-w<超时秒数>    设置等待远端主机回报的时间
-f<存活数值>    设置第一个检测数据包的存活数值TTL的大小
-t<服务类型>    设置检测数据包的TOS数值
-s<来源地址>    设置本地主机送出数据包的IP地址
-m<存活数值>    设置检测数据包的最大存活数值TTL的大小
-p<通信端口>    设置UDP传输协议的通信端口
-g<网关>        设置来源路由网关,最多可设置8个
-i<网络界面>    使用指定的网络界面送出数据包

netstat

​ 显示各种网络相关信息,网络连接、路由表、接口状态等,得知整个Linux系统的网络情况

-a      显示所有选项
-n      拒绝显示别名,能显示数字的全部转化为数字 ***
-s      按各个协议进行统计***
-t      仅显示tcp相关选项
-u      仅显示UDP相关选项
-l      仅列出有在Listen(监听)的服务状态
-r      显示路由信息,路由表
-e      显示扩展信息,例如UID等
-p      显示正在使用Socket的程序识别码和程序名称
-c      每隔一个固定时间,执行该netstat命令(持续列出网络状态)
netstat -a      #列出所有端口
netstat -at     #列出所有TCP端口
netstat -au     #列出所有UDP端口
netstat -l      #只显示监听端口
netstat -lt     #列出所有监听TCP端口
netstat -ld     #列出所有监听UDP端口
netstat -x      #列出所有监听UNIX端口

du

统计指定目录或文件所占磁盘空间大小

-h      提高可读性
-a      列出目录中所有文件的大小
--max -depth    查看大文件

tar

文件打包压缩

打包压缩
-c      打包
-v      显示详细信息
-f      指定文件名
-z      打包同时压缩,通过gzip指令处理备份文件
-j      支持bzip2解压文件
-k      保留原有文件不覆盖
tar -zcvf  备份名  文件          #打包压缩

解压
-x      解包,从备份文件中还原文件
-v      显示详细信息
-f      指定解压文件
-z      解压缩,使用gzip
-j      支持bzip2解压文件
-C      指定解压目录* 
tar -zxvf 压缩包名

ps

查看静态的进程统计信息

-a      显示终端上所有进程
-u      显示面向用户的格式
-x      显示后台进程信息

ps -ef  类似于-aux

查看进程状态

top

动态(10s)显示进程

​ 执行状态下,按P键可以根据CPU使用时间排序,按M键以内存使用率排序,按A键以PID排序,按Q键退出。

at

​ 控制进程方式:调度启动

​ 用于在指定时间执行命令。 (实际上是对进程的控制)

​ *必须指定时间

-f      指定包含具体指令的任务文件
-q      指定新任务的队列名称
-l      显示待执行任务的列表
-d      删除指定的待执行任务
-m      任务执行完成后向用户发送E-mail

三天后下午五点执行

明天17点,输出时间到指定文件内

计划任务设定后,在没有执行之前系统没有执行的工作任务

删除已经设置的任务

显示已设置的任务内容

kill

​ 终结进程命令

​ 对于前台的进程,可以直接使用Ctrl+C来终止进程

​ 对于后台或其他终端的进程,需要使用kill命令

kill -9 进程ID        强制终止进程

users

查看当前登录的用户名

who

查看当前登录用户的详细信息

w

查看当前登录用户的详细信息(比who更详细)

free

查看内存使用情况

-m      以MB为单位显示信息(默认为KB)
-b      以byte为单位显示信息
-s      指定动态显示时的频率刷新时间
表头解释:
total   内存总数
used    已经使用的内存数
free    空闲的内存数
shared  当前已经废弃不用
buffers Buffer  缓存内存数
cached Page     缓存内存数

df

查看磁盘使用情况

-h      增加可读性
-T      显示文件系统类型

mount

挂载:加载文件系统到指定挂载点

​ 挂载点必须是一个存在的目录

​ 格式:mount -t 文件系统 [其他参数] 设备 挂载点

umount

卸载:卸载已经加载的文件系统

​ 格式: umont [-fn] 设备文件名称或挂载点

-f      强制卸载
-l      立刻卸载文件系统,比-f还强
-n      不更新/etc/mtab情况下卸载

lsblk

列出系统上所有的可用块设备的信息,列出设备的UUID等参数

​ UUID:全域单一识别码,Linux下设备独一无二的识别码

-a      列出所有设备信息    
-l      使用列表格式显示
-t      显示拓扑结构信息
-f      显示UUID

blkid

查询设备上所采用文件系统类型进行查询 ,显示设备UUID信息

-s <tag>    显示指定信息,默认显示所有信息

yum

​ 基于rpm的软件包管理器 ,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

​ yum源:就是一个软件集合地,只需要搜索并安装你想要的软件即可

-y      对所有的提问都回答“yes”
-q      安静模式
-v      详细模式
yum install     安装
update          更新rpm软件包
yum remove      卸载
yum search      搜索
yum clean       清理yum过期缓存
yum list        显示软件包的信息

yum clean all 清理yum源数据

yum makecahe 重新生成缓存文件

​ 查询本地已安装软件

rpm

RPM软件包的管理工具

​ Linux操作系统下,几乎所有的软件均通过rpm进行安装、卸载及管理等操作

rpm -ivh        安装包,并显示安装进度及文件信息
rpm -e          卸载
rpm -qa         查看已安装程序
rpm -qa|grep "gcc"      搜索gcc是否安装

apt

dpkg

Debian Linux系统用来安装、创建和管理软件包的实用工具

-i      安装软件包
-r      删除软件包
-P      删除软件包的同时删除其配置文件
-L      显示于软件包关联的文件
-l      显示已安装软件包列表
-c      显示软件包内文件列表
--unpack        解开软件包
--confiugre     配置软件包

curl

利用URL规则在命令行下工作的文件传输工具

uname

打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)

-a      显示全部的信息
-m      显示电脑类型
-n      显示在网络上的主机名称
-r      显示操作系统的发行编号
-s      显示操作系统名称(默认显示和-s参数一样)
-v      显示操作系统的版本

Guess you like

Origin www.cnblogs.com/k1ng/p/12099199.html