linux基础命令用法
目录管理
ls、cd、pwd、mkdir、rmdir、tree
ls(list) 列出,列表
用法:
ls
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生了改变
改变:change,metadata,元数据
-h:做单位转换
-a: 显示以.开头的隐藏文件
. 表示当前目录
.. 表示父目录
-A
-d: 显示目录自身属性
-i: index node, inode
-r: 逆序显示
-R: 递归(recursive)显示
cd(change directory)
用法:
cd ~USERNAME:进入指定用户的家目录
cd ..:进入父级目录
cd -:在当前目录和前一次所在的目录之间来回切换
cd:进入当前用户主目录
pwd(Printing Working directory)
显示当前路径
mkdir(make directories)
-p:创建目录树
-v:显示创建目录的信息
此两个命令联合使用最有效。
mkdir -pv /hehe/heihei/haha
创建多级目录
mkdir /test/{x/m,y}
mkdir /test/{a,d}_{b,c}
rmdir(remove directory)
-p 若目录为多级目录,从最后一个目录开始删除。
文件管理
touch、stat、file、rm、cp、mv
touch(change file timestamps)修改文件时间戳
-a:修改文件访问时间
-m:修改文件修改时间
-t:使用[[CC]YY]MMDDhhmm[.ss]格式修改文件时间戳
-c:创建空文件
rm(remove)
移除文件或者目录
-i:进行确认提示。(在同时给定了-f和-i选项时,列在最后的生效。)
-f:忽略不存在的文件,并且从不向用户提示。
-r:或者 -R 递归地移除目录树。
cp(copy)
-i 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-f 覆盖已经存在的目标文件而不给出提示。
-p 除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l 建立硬链接,而非复制
-d 复制符号链接
mv(move)
移动(改名)文件
-t: 指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
日期时间
date、clock、hwclock、cal
显示日期的指令: date(显示系统时间)
hwclock(显示硬件时间)
-w:系统时间同步到硬件时间
-s:硬件时间同步到系统时间
显示日历: cal
计算器: bc
查看文本
cat、tac、more、less、head、tail、tee
cat 连接文件并在标准输出上输出
-n:显示文本行数
-E:在每行结束显示 $
head:查看前n行
tail:查看后n行
-n
tail -f: 查看文件尾部,不退出,等待显示后续追加至此文件的新内容;
tee:既显示输出内容,又把内容输入到文件中。
文本处理
cut:
-d: 指定字段分隔符,默认是空格
-f: 指定要显示的字段
-f 1,3
-f 1-3
文本排序:sort
-n:数值排序
-r: 降序
-t: 字段分隔符
-k: 以哪个字段为关键字进行排序
-u: 排序后相同的行只显示一次
-f: 排序时忽略字符大小写
uniq: 删除排序中重复的行
-c: 显示文件中行重复的次数
-d: 只显示重复的行
文本统计:wc (word count)
-l:输出换行符统计数
-w:输出单词统计数
-c:输出字节统计数
-L:输出最长的行的长度
字符处理命令:tr —— 转换或删除字符
tr [OPTION]... SET1 [SET2]
-d: 删除出现在字符集中的所有字符
命令历史
history 查看
-c:清空命令历史
-d OFFSET [n]: 删除指定位置的命令
-w:保存命令历史至历史文件中
命令历史的使用技巧:
!n:执行命令历史中的第n条命令;
!-n:执行命令历史中的倒数第n条命令;
!!: 执行上一条命令;
!string:执行命令历史中最近一个以指定字符串开头的命令
!$:引用前一个命令的最后一个参数;
用户与用户组及其权限管理
用户管理
useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
useradd,添加用户
-c 描述
-d 家目录
-g 所属组
-G 附属组
-s 环境变量
-u uid
例:useradd -c thisisauser -d /home -g whych -G whych -u 2017 -s /sbin/nologin
chage 修改账号密码有效期限
-M 最大天数
-m 最小天数
userdel 删除用户
-r 同事删除用户的家目录
usermod,修改用户信息
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
id:查看用户的帐号属性信息
-u:显示用户id
-g:显示组id
-G:显示附加组
-n:显示真实id
finger: 查看用户帐号信息
finger USERNAME
chsh: 修改用户的默认shell
chfn:修改注释信息
组管理
groupadd, groupdel, groupmod, gpasswd
创建组:groupadd
groupadd
-g GID
-r:添加为系统组
groupmod
-g GID
-n GRPNAME
groupdel
gpasswd:为组设定密码
权限管理
chown, chgrp, chmod, umask
chown: 改变文件属主(只有管理员可以使用此命令)
chown USERNAME file,...
-R: 修改目录及其内部文件的属主
--reference=/path/to/somefile file,...
chown USERNAME:GRPNAME file,...
chown USERNAME.GRPNAME file,...
chgrp GRPNAME file,...
-R:同上
chmod: 修改文件的权限
chmod +|- MODE file,...
-R:同上
修改某类用户或某些类用户权限:
u,g,o,a
chmod 用户类别=MODE file,...
修改某类用户的某位或某些位权限:
u,g,o,a
chmod 用户类别+|-MODE file,...
特殊权限(suid、sgid、sticky)
一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置。
setuid: 使文件在执行阶段具有文件所有者的权限。
setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组。
sticky bit: 该位可以理解为防删除位。一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件。
换种理解方法如下:
SUID:运行某程序时,相应进程的属主是程序文件本身的属主,而不是启动者。
SGID:运行某程序时,相应进程的属组是程序文件本身的属组,而不是启动者。
Sticky:在一个公共目录,每个都可以创建文件,删除,而其它人不能。
操作:
chmod u+s file — 为file加上setuid标志. (setuid 只对文件有效)
如果file本身有执行权限,则s显示小写,否则大写。
chmod g+s file — 为file目录加上setgid标志 (setgid 只对目录有效)
如果file本身有执行权限,则s显示小写,否则大写。
chmod o+t file — 为file文件加上sticky标志 (sticky只对文件有效)
如果file本身有执行权限,则t显示小写,否则大写。
权限位:SUID(4),SGID(2),STICKY(1)
000:
001:只有sticky
. . .:
111:suid+sgid+sticky(6)
chmod 3755 /tmp/test 此处是4位权限位。3就代表是sgid+sticky
所以经常看到的umask总是四位
umask 0022
文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限+1
umask 022
默认创建文件和目录的权限就是:
文件:666-022
目录:777-022
facl (filesystem access control list)
可以针对单一用户、单一文件或者目录来进行rwx的权限控制。如某一个文件,不让单一的某个用户访问。
setfacl :设置某个文件/目录的ACL设置项目
-m:设置后续acl参数
-x:删除
-R:递归设置
getfacl:
取得某个文件/目录的ACL设置项目
文件查找
locate
非实时,模糊匹配,查找是根据全系统文件数据进行的。
速度快
find
实时,精确,支持众多查找标准
遍历指定目录中的所有文件完成查找,速度慢。
-name 'FILENAME':对文件名作精确匹配
文件名通配:
*:任意长度的任意字符
?
[]
-iname 'FILENAME': 文件名匹配时不区分大小写
-regex PATTERN:基于正则表达式进行文件名匹配
-user USERNAME: 根据属主查找
-group GROUPNAME: 根据属组查找
-uid UID: 根据UID查找
-gid GID: 根据GID查找
-nouser:查找没有属主的文件
-nogroup: 查找没有属组的文件
-type
f:普通文件
d:目录
c:特殊字符文件
b:特殊块文件
l:符号链接
s:套接字
-size [+|-]
k
M
G
精确匹配:
-perm MODE
-MODE:任意以为匹配即满足条件
/MODE:文件权限能完全包含次MODE时才符合条件
find / -perm /222
组合条件
-a:and
-o:or
-not:
-mtime n 查找系统中最后n*24小时数据修改的文件
-ctime n 查找系统中最后n*24小时状态被改变的文件
-atime n 查找系统中最后n*24小时访问的文件
-mmin n 查找系统中最后n分钟数据修改的文件
-cmin n
-amin n
xargs与-exec
xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认情况下是通过空格分割) 然后将参数传递给其后面的命令,作为后面命令的命令行参数。
# find . -name test11.txt | xargs rm
-exec rm {} \;:{} 表示命令的参数即为所找到的文件,以;表示comman命令的结束。\是转义符。
# find . -name test222.txt -exec rm {} \; 对每个匹配的文件执行一个单独的rm操作
登录信息命令
w,who,last,lastb,lastlog
终端:
pty #:物理终端
tty #:虚拟终端
ttys #:串行终端
pts #:伪终端
w:显示已经登录的用户以及他们在做什么
who:显示已经登录的用户
last:显示 /var/log/wtmp文件用户登录历史及系统启动历史
-n #:显示最近#次的历史
lastb:显示/var/log/btmp文件,显示用户错误的登录尝试
-n #:显示最近#次的历史
lastlog:显示每一个用户最近一次的成功登录信息
-u USERNAME:显示特定用户最近的登录信息
basename:
$0:执行脚本时的脚本路径及名称
linux基础命令用法的更多相关文章
- Linux——基础命令用法(上)
一.Linux基础命令 1.Linux命令行的格式 命令行的格式为:用户名+主机名+当前工作目录 输入内容的命令格式为:命令 [-短选项/--长选项] [参数] [root@localhost ~]# ...
- Linux——基础命令用法(下)
一.linux用户 1.什么是用户 用户是用来运行某一些进程.拥有某一些文件或目录. 在Linux里面,用户分成三大类:root用户.系统用户.普通用户. 用户是用UID来唯一标识身份的,且root用 ...
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- 常用的linux基础命令
常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- linux mail命令用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- linux基础命令学习笔记(二)
linux基础命令学习笔记(二) 1.kill :终止进程 kill pid (唯一标示一个进程) kill -9 强制终止 kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...
- 2.Linux基础命令
linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...
随机推荐
- Opencv学习笔记------Harris角点检测
image算法测试iteratoralgorithmfeatures 原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/73 ...
- R-- Apply族函数
APPLY族函数: apply(x,a,f) 对矩阵或数据框的某一维度作用函数fx为矩阵或数据框:a为1代表行,a为2代表列:f为作用函数. lapply(x,f) 对x的每一个元组作用函数f,结果以 ...
- mysql进阶(六)模糊查询的四种用法介绍
mysql中模糊查询的四种用法介绍 这篇文章主要介绍了mysql中模糊查询的四种用法,需要的朋友可以参考下. 下面介绍mysql中模糊查询的四种用法: 1 %: 表示任意0个或多个字符.可匹配任意类型 ...
- STL - 各个容器的使用时机
deque的使用场景:比如排队购票系统,对排队者的存储可以采用deque,支持头端的快速移除,尾端的快速添加.如果采用vector,则头端移除时,会移动大量的数据,速度慢. vector与deque的 ...
- mysql进阶(十五) mysql批量删除大量数据
mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM s ...
- 内核调试工具 — kdump & crash
kdump简介 kdump是系统崩溃的时候,用来转储运行内存的一个工具. 系统一旦崩溃,内核就没法正常工作了,这个时候将由kdump提供一个用于捕获当前运行信息的内核, 该内核会将此时内存中的所有运行 ...
- 嵌入式C开发---用循环实现左移右移
//将n左移m位 int byte_to_left_move(int n , int m) { int i , ret = 1 ; if(n == 0 || n < 0) { return ; ...
- Hbase 备份的方式
HBase 备份的方式有三种: 1.下线备份 (1)停止集群. (2)Distcp (3)restore 2.在线备份 -replication 3.在线北大 -CopyTable 4.在线备份-Ex ...
- HBase replication使用
hbase-0.90.0的一个重要改进是引入了replication机制,使它的数据完整性得到了进一步的保障.虽然这一功能还不太完善,但是今后必然会变得更加重要. hbase的replication机 ...
- js正则表达式中test,exec,match方法的区别说明
js正则表达式中test,exec,match方法的区别说明 test test 返回 Boolean,查找对应的字符串中是否存在模式.var str = "1a1b1c";var ...