linux命令格式:
COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能;
参数:命令的作用对象,向命令提供数据;
(1)ls
显示指定路径下的文件列表
ls [OPTION]... [DIR]...
-a, --all: 显示所有文件,包括隐藏文件;
-l: 长格式
-rw-r--r-- 1 root root 44800 Aug 14 14:32 install.log
-rw-r--r--:
最左侧的第一位:文件类型
-, d, l, b, c, p, s
后面的9位:访问权限,perm
数字:文件被硬链接的次数;
左root: 文件的owner
右root: 文件的group
44800:文件的size
Aug 14 14:32 : 文件的最近一次被修改的时间
install.log: 文件名
-h, --human-readable:单位换算
-d: 显示目录自身的相关属性;通常要与-l一起使用;
-r, --reverse: 逆序显示
-R, --recursive: 递归
例子: 工作用偶尔会用到如下命令
查看/etc目录下,文件size最大的几个文件: ls -lhS /etc/ | head
查看/etc目录下,最新的几个文件: ls -lt /etc/ | head
(2)cd
切换目录
cd 或 cd ~: 回当前用户的主目录
cd ~USERNAME: 切换至指定用户的主目录
cd -: 在上一个目录和当前目录之间来回切换
(3)type:查询命令类型
(4)tty : 查看当前的终端设备
(5)cat: 文件查看命令
(6)which:显示命令对应的程序文件路径
which [OPTION] COMMAND
--skip-alias:禁止显示别名
定位可执行文件在系统中的位置。
(8)pwd: 当前目录
(9)echo: 回显命令
-n: 禁止自动添加换行符号;
-e: 允许使用转义符;
\n: 换行
\t: 制表符
echo "$VAR_NAME": 变量会替换,双引号表弱引用
echo ‘$VAR_NAME‘: 变量不会替换,强引用
(10)date: 显示及设置时间
date:
date [OPTION]... [+FORMAT]:显示
FORMAT: 格式符号
%D
%F
%T
date [MMDDhhmm[[CC]YY][.ss]]:设置
MM: 月分
DD:几号
hh: 小时
mm: 分钟
YY: 两位年份
CCYY: 四位年份
.ss: 秒钟
例如: 查看昨天时间:date +%Y%m%d -d ‘-1 day‘
(11)关机
halt, poweroff, shutdown, init 0
(12)重启
reboot, shutdown, init 6
(13)跟用户登录相关
who, whoami, w
(14)history: 命令历史
环境变量:
HISTSIZE:命令历史记录的条数;
HISTFILE:~/.bash_history;
HISTFILESIZE:命令历史文件记录历史的条数;
history -d OFFSET
-c
history #: 显示历史中最近的#条命令;
-a: 手动追加当前会话缓冲区的命令历史至历史文件中;
(15)mkdir : 创建目录
mkdir [options] /path/to/somewhere
-p: 存在于不报错,且可自动创建所需的各目录;
-v: 显示详细信息
-m MODE: 创建目录时直接指定权限;
(16)tree:
-d: 只显示目录
-L level:指定显示的层级数目
-P pattern: 只显示由指定pattern匹配到的路径;
(17)rmdir:删除空目录
rmdir [OPTION]... DIRECTORY...
-v: 显示过程;
(18)查看文件类命令:
more
more [OPTIONS...] FILE...
-d: 显示翻页及退出提示
less
less [OPTIONS...] FILE...
head
head [OPTION]... [FILE]...
-c #: 指定获取前#字节
-n #: 指定获取前#行
-#:
tail
tail [OPTION]... [FILE]...
-c #: 指定获取后#字节
-n #: 指定获取后#行
-#:
-f: 跟踪显示文件新追加的内容;
(19)touch:文件的时间戳管理工具
touch [OPTION]... FILE...
-a: only atime
-m: only mtime
-t STAMP:
[[CC]YY]MMDDhhmm[.ss]
-c: 如果文件不存,则不予创建
(20)cp 复制命令
常用选项:
-i:交互式
-r, -R: 递归复制目录及内部的所有内容;
-a: 归档,相当于-dR --preserv=all
-d:--no-dereference --preserv=links
--preserv[=ATTR_LIST]
mode: 权限
ownership: 属主属组
timestamp:
links
xattr
context
all
-p: --preserv=mode,ownership,timestamp
-v: --verbose
-f: --force
(21)mv: 移动、重命名文件或目录
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用选项:
-i: 交互式
-f: 强制
(22)rm : 删除命令
rm [OPTION]... FILE...
常用选项:
-i: 交互式
-f: 强制删除
-r: 递归
rm -rf
(23)wc命令:查看文件内容中有多少行或多少个单词
wc [OPTION]... [FILE]...
-l: lines
-w: words
-c: characters
(24)cut命令:切割文件
cut [OPTION]... [FILE]...
-d DELIMITER: 指明分隔符
-f FILEDS:
#: 第#个字段
#,#[,#]:离散的多个字段,例如1,3,6
#-#:连续的多个字段, 例如1-6
混合使用:1-3,7
--output-delimiter=STRING
(25)sort命令: 文本内容排序
sort [OPTION]... [FILE]...
-f: 忽略字符大小写
-r: 逆序
-t DELIMITER: 字段分隔符
-k #:以指定字段为标准排序
-n: 以数值大小进行排序
-u: uniq,排序后去重
(26)uniq命令:文件内容去重
uniq [OPTION]... [FILE]...
-c: 显示每行重复出现的次数;
-d: 仅显示重复过的行;
-u: 仅显示不曾重复的行;
Note: 连续且完全相同方为重复
(27)useradd:用户创建
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs
-g GID:指明用户所属基本组,可为组名,也可以GID;
-c "COMMENT":用户的注释信息;
-d /PATH/TO/HOME_DIR: 以指定的路径为家目录;
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中;
-G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在;
-r: 创建系统用户
CentOS 6: ID<500
CentOS 7: ID<1000
(28)groupadd: 组创建
groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组;
CentOS 6: ID<500
CentOS 7: ID<1000
(29)id : 查看用户相关的ID信息
id [OPTION]... [USER]
-u: UID
-g: GID
-G: Groups
-n: Name
(30) su :切换用户或以其他用户身份执行命令
su [options...] [-] [user [args...]]
切换用户的方式:
su UserName:非登录式切换,即不会读取目标用户的配置文件;
su - UserName:登录式切换,会读取目标用户的配置文件;完全切换;
Note:root su至其他用户无须密码;非root用户切换时需要密码;
换个身份执行命令:
su [-] UserName -c ‘COMMAND‘
选项:
-l:“su -l UserName”相当于“su - UserName”
(31)usermod: 用户属性修改:
usermod [OPTION] login
-u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL:新的默认SHELL;
-c ‘COMMENT‘:新的注释信息;
-d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;
-l login_name: 新的名字;
-L: lock指定用户
-U: unlock指定用户
-e YYYY-MM-DD: 指明用户账号过期日期;
-f INACTIVE: 设定非活动期限;
(32)passwd: 给用户添加密码
passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
passwd: 修改自己的密码;
常用选项:
-l: 锁定指定用户
-u: 解锁指定用户
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限;
--stdin:从标准输入接收用户密码;
echo "PASSWORD" | passwd --stdin USERNAME
Note: /dev/null, bit buckets
/dev/zero,
(33)userdel : 删除用户
userdel [OPTION]... login
-r: 删除用户家目录;
(34)groupmod : 组属性修改
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID;
(35)groupdel:组删除
(36)gpasswd:组密码
(37)chage:修改用户属性
chage [OPTION]... LOGIN
-d LAST_DAY
-E, --expiredate EXPIRE_DATE
-I, --inactive INACTIVE
-m, --mindays MIN_DAYS
-M, --maxdays MAX_DAYS
-W, --warndays WARN_DAYS
(38)chmod: 修改文件权限
chmod [OPTION]... OCTAL-MODE FILE...
-R: 递归修改权限
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限:
u=
g=
o=
ug=
a=
u=,g=
修改一类用户某位或某些位权限
u+
u-
chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE;
(39)chown: 修改文件的属主
chown [OPTION]... [OWNER][:[GROUP]] FILE...
用法:
OWNER
OWNER:GROUP
:GROUP
Note: 命令中的冒号可用.替换;
-R: 递归
chown [OPTION]... --reference=RFILE FILE...
(40)chgrp: 修改文件的属组
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
(41)umask: 文件或目录创建时的遮罩码
FILE: 666-umask
Note: 如果某类的用户的权限减得的结果中存在x权限,则将其权限+1
DIR: 777-umask
umask: 查看
umask #: 设定
原文地址:http://10673786.blog.51cto.com/10663786/1699789