linux 命令基础入门,linux入门基础命令详解

帮助命令

man  eg: man ls

help eg: help cd

info eg: info ls

--help   eg: ls --help

查看环境变量的命令

export,printenv,env,set

查看时间的命令

date,hwclock,cal

date :显示或者设置系统的时钟

-s 设置时间

-d 显示字符串所指的时间或日期

显示时间

# date -d "$date"

# date "+%y" 显示年

# date '+%y-%m-%d-%k-%M-%S' 显示年月日时分秒

# date "+%y" 显示年

# date '+%y-%m-%d-%k-%M-%S' 显示年月日时分秒

设置时间 # date -s 2013-07-14

# date -s 19:22:22

# date -s "2013-07-14 19:22:22"

hwclock : 显示硬件时钟

# hwclock

设置硬件时间

# hwclock --set --date="13/07/14 12:05:22"

cal: 显示公里日历(阳历日历)

# cal

which 查找文件

# which COMMAND

type  显示命令的类型(内部命令/外部命令)

# type COMMAND

file   显示文件类型

# file filename

echo  显示字符串

# echo $PATH

hash  用来显示,添加,清除哈希表

简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数 。

# hash -l 显示为

builtin(内部命令) hash -p /usr/bin/file file

builtin hash -p /bin/chmod chmod

builtin hash -p /bin/date date

builtin hash -p /usr/bin/stat stat

builtin hash -p /usr/bin/man man

builtin hash -p /usr/bin/info info

builtin hash -p /bin/ls ls

builtin hash -p /usr/bin/clear clear

列表命令

ls

什么都不写,列出目录所含文件

-A 列出目录中的文件和隐藏文件

-a 列出目录下所有文件,包括隐藏文件和.;. ..

-l 逐行列出文件

这里重点将一下  ls -l所显示的信息所表示的含义

ls -l  取一行举例

drwxr-xr-x 19 root root 4096 Feb 17  2012 var

drwxr-xr-x

这里的第一个字母是d,它代表这是个文件夹,或称为目录;

如果第一个符号是-,那这是个文件;

如果是l,则是个链接文件;

如果你注意观察,你会发现有10个字符,其中第一个是文件的类型,还剩9个,其中每三个为一组,第一组是rwx,这是文件所有者的属性,也就是说可以读,写,执行。第二组是文件属组的的权限。第三组是其他人的权限。

19

这个var里有19个文件和目录;

第一个root是文件的所有人

第二个root是文件所在的群组;

4096 文件的大小;

Feb 17 2012 这个一看就知道是时间,你修改文件的时间;

最后是var,这个就是文件或目录名称。

目录命令

cd

cd ~ 回家目录

cd   回家目录

cd - dirname 进入指定目录

cd - 在上一个目录和当前目录来回切换

dirname   指定路径目录

mkdir  创建目录

rmdir  删除目录

pwd  显示当前目录

文本文件相关命令

查看

cat,tac

# cat /etc/passwd 用户的属性信息

# cat /etc/shadow 影子口令  把密码放到另外一个文件中去  只能让管理员访问

# cat /etc/group 组的属性信息

# cat /etc/gshadow 组的密码

more/less

more  向后翻   在翻至文件尾部之前允许向前翻

less  向前翻

head/tail

head 文件前n(默认前10)行

tail ~    后      后

-n #   -n 20

-#     -20

创建

nano

ctrl+o  保存

ctrl+x  退出

touch

修改文件时间戳

access 访问时间  -a

modify 修改时间  -m

-t  指定时间格式   [cc]yymmddhhmm.ss

stat file

显示文件的属性信息

访问时间

修改

改变

编辑

nano

vim

复制

cp   src(源)  。。。DEST(目标目录)

-r  递归复制

-a 比-r全面,归档

-v 过程

-i  交互式复制

移动

mv

删除

rm

-r 逐级删除

-i 提醒

-f 强行删除

命令别名

alias  command=command

# alias  cls=clear

通配符

bash支持文件通配,globbing

* 任意长度的任意字符

?任意单个字符

[]  指定范围内的任意单个字符[a-z]

[^] 脱字符,取反,指定范围外的单个字符[^0-9]

添加用户

useradd,adduser

# useradd USERNAME  创建用户时为其创建同名组,家目录,用户的私有组

-u UID,有效范围0-65535

-g GID,有效范围已有的GID

-c 注释

-d /path/to/somewhere

-s /path/to/shell_command 切换到shell的命令上

-r 创建系统用户,ID号1-499之间的用户(系统用户的家目录虽然有路径,却并没有真正给他创建目录)

-M 不为用户创建家目录

-m 必须为用户创建家目录

转换用户

su(switch user)

su USERNAME

su -l USERNAME=su - USERNAME

查看用户的id

id USERNAME

-u

-g

-n(名字)

-un

-gn

创建组:

groupadd USERNAME

/etc/group

组名:密码占位符,GID,以此组为额外组的用户列表,用户间用逗号分隔

-g GID 创建组的时候为其制定GID

-r  创建系统组

修改用户属性

usermod

-u

-g  改基本组

-G  额外组与-a一块使用  -a(append追加)保留原来的额外组,新增额外组

-s shell

-l 修改用户的登录名称

-m -d /path/to/sommewhere 给用户修改新的家目录,并将原有家目录中的用户一并挪过去

groupmod  修改组属性

-g GID

-n NEW_NAME

密码管理

passwd 修改自己的密码

passwd

-l 锁定用户帐号

-u 解锁

密钥属性的修改

passwd

-e 设定过期期限

-n 设定密码最短使用天数

-x 设定最长使用天数

-w 警告天数

-i 非活动时长

chage

-d 修改密码的最近一次修改时间

-m --mindays MIN_DAYS 最短使用期限

-M --maxdays MAX_DAYS 最长使用期限

-W --warndays WARN_DAYS 警告天数

-I --inactive   非活动天数

-E --expiredate 过期时间

usermod

-e  指定账户过期时间

-i 跟上天数:表示非活动天数

gpasswd 为组设定密码

newgrp GROUP 临时设定指定的组为自己的基本组

改变文件的权限

chmod change mode

chmod [选项]权限文件

权限定义方式

1.同事修改三类用户的权限;8进制数字方式

2.修改某一些或某些类用户的权限:u,g,o

u=rw

u=,g=

ug=

3.只操作某类用户的某位或者某些位权限:u,g,o,a

+/-

u+w

+x

-x

g-rw(把属主的读写权限删除)

选项

-R :递归修改权限

--reference=/path/to/somefile FILE

修改文件的属主和属组

chown[选项] 用户  文件

chgrp[选项] 组  文件

选项

-R :递归修改权限

--reference=/path/to/somefile FILE

删除用户:

userdel

userdel [options] USERNAME

-r

删除组

groupdel

groupdel GRPNAME

bash的快捷键

Ctrl+a 跳至命令行首

Ctrl+e           尾

Ctrl+u 删除命令行首到光标所在地点内容

Ctrl+k 删除当前光标所有出至命令行的内容

Ctrl+l 清屏,相当于clear命令

Ctrl+c 取消或终止

Ctrl+z 将当前命令送至后台

cut:文本切割

最常用的功能是能够使用制定的符号作为行中内容的分隔符,将每一行切片,而只取出某些片

cut [options] FILE

-d:默认分隔符为空白,一般在后边加:号,-d:

-f 1-5(第一段-第五段)   1,5(第一段和第五段)

join: 将两个文件中,指定栏位内容相同的行连接起来

参  数:

-a<1或2>   除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。

-e   若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。

-i或--igore-case   比较栏位内容时,忽略大小写的差异。

-o   按照指定的格式来显示结果。

-t   使用栏位的分隔字符。

-v<1或2>   跟-a相同,但是只显示文件中没有相同栏位的行。

-1   连接[文件1]指定的栏位。

-2   连接[文件2]指定的栏位。

--help   显示帮助。

--version   显示版本信息。

grep

global serach regular exmpression and printing 以正则表达式来描述选择条件

正则表达式是一类字符所书写的模式(pattern)

元字符:(*、?)不表示字符本身的意义,而用于额外功能性的描述

grep [options] 'pattern' file

正则表达式:基本正则表达式,扩展正则表达式

基本正则表达式:贪婪模式(尽可能长de去匹配符合模式的内容)

^: 锚定行首的符合条件的内容,用法格式:"^pattern"

$:锚定行尾的符合条件的内容,用法格式:"pattern$"

^pattern$  自成一行

^$ 空白行

.:匹配任意单个字符

*:前边的字符距最近才能匹配

a*b:ab,aab,b  匹配

acb  不匹配

.*:匹配任意长度的任意字符

[]:匹配指定范围内的任意字符

[^]:匹配指定范围外的任意字符

[0-9]: 所有的数字

[a-z]:所有的小写字母

[A-Z]:所有的大写字母

[a-zA-Z]:所有的字母

[0-9a-zA-Z]:所有的数字和字母

grep的选项

--color=auto

-v:反向选取,只显示不符合模式的行

-o:只显示被模式匹配到的字串,而不显示整个行

-A #行号:显示匹配的行时,顺带显示后边的#行

-B # :前面的#行

-C # :前后的#

sort : 排序

-f 忽略字符大小写

-n 以数值大小进行排序

-r 降序

-u 移除重复的行,具有相同内容的行,只保留一个

-R 随机排序

uniq :排序完成后不重复的行   -c:统计每行重复的次数   -u;只显示没有重复的行   -d: 只显示重复过的行

你可能感兴趣的:(linux,命令基础入门)