Linux常用命令及文件管理
Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
目录解释: .代表此层目录; .. 代表父目录;-代表前一个目录;~代表是家目录。
(1)ls命令(显示)
-a:列出所有文件包括隐藏文件 -l:以长格式输出 -d:只列出目录本身而不列出目录内部的文件 -R:连同子目录一同显示出来,递归显示 -h:以字节大小显示,需配合-l一起使用 -t:按mtime排序
(2)cp命令(复制)
-i:提示用户是否覆盖 -f:删除旧的新建 -r:连同子目录一起复制,包括子目录里子目录 -v:显示过程 -d:复制的是链接文件 -u:只复制源比目标新或者目标没有的文件 -p:连同档案的属性一起复制过去,而非使用预设属性 –backup=numbered:复制前先备份原有的
(3)mv命令(移动、改名)
-i:交互 -f:强制复制 -r:连同子目录一起复制,包括子目录里子目录 -v:显示过程
(4)rm命令(删除)—危险命令
-r:连同子目录一起删除 -f:强制删除 -v:显示过程 -i:提示用户
演示:
cd 是切换目录的含义
cd . 切换至当前面目录
cd .. 切换至上一层父目录
ls 列出当前目录的内容或指定目录
ls -a 包含隐藏文件 ls -l 显示额外的信息 ls -d 只显示目录文件
pwd 显示当前shell的绝对路径
-P 显示真实物理路径 -L 显示链接路径(默认)
基名:basename 显示结尾最后一个文件路径名
目录名:dirname 除了最后一个文件路径名不显示,其他的路径名都显示
Ctrl+a 跳到字母前端 Ctrl+e 跳到字母后端 Ctrl+s 锁定屏幕 Ctrl+q 取消锁屏 Ctrl+u 删除前面的整行 Ctrl+k 删除后面的整行 alt+r 删除整行
touch 创建空文件
以下三种方法都可以创建以“-”开头的文件
touch -- -a touch ./ -a touch /data/-a
创建”~”开头的文件
touch ‘~liu’ touch ./ma
rm 删除文件
-i 交互式 -f 强制删除 -r 递归
以下三种方法可以删除以“-”开头的文件
rm -rf -- -a rm –rf ./ -- -a rm –rf /data/-a
cp 复制
-i:覆盖前提示 –n:不覆盖 -r, -R: 递归复制目录及内部的所有内容 -a: 归档,相当于-dR --preserv=all,保留文件的所有属性 -v:显示复制的过程
cp /data/f1 /boot/f2 将data目录下的f1文件复制到boot目录下,起名叫f2
cp /etc/fstab /etc/fstab. bak 单个文件复制fstab文件起名叫fstab.bak
cp /etc/fstab /etc/profile . 多个文件复制,目标文件必须是目录
复制目录时需要加一个-r
如果复制的目录,复制到目标目录时,目录不存在,将创建的以复制的文件名为目录
cp /boot/grub /data/grub -r
如果复制到的目标路径存在同名文件,就会提示错误,无法复制
如果有同名目录时,复制的目录就会成为目标文件夹的子目录
mv 移动
常用选项:
-i: 交互式 -f: 强制 -b: 目标存在,覆盖前先备份
mv /data/fstab /boot/ 将data 下的文件移动到 boot下
mkdir
mkdir 创建目录
-p: 存在于不报错,且可自动创建所需的各目录 -v: 显示详细信息 -m MODE: 创建目录时直接指定权限
mkdir -p dir1/dir2 当dir1为空文件时就可以创建dir2,需要加上-p
ln: 硬链接
ln f1 f11 给f1创建一个硬链接起名叫f11,文件属性和大小、时间都相同
ln -s: 软链接
ln -s ../../../data/f2 /d1/d2/d3/f2-link 给f2创建一个软连接为f2-link
f2所在的目录是 d3,其中f2第一个..对应的是d2,第二个..是d1,第三个..对应的是/
软链接与硬链接区别:
1、硬链接是同一个文件多个名字,软链接不是同一个文件 2、硬链接不能跨分区、设备,软链接可以 3、硬链接的连接数增长,软链接不增长 4、节点编号:硬链接的节点编号相同,软链接不一样 5、原始文件删掉,硬链接的文件可以访问,软链接的原始文件删掉,访问失效 6、软连接的指向文件大小是路径的大小,硬链接的大小就是文件的大小 7、硬链接不支持目录、软链接支持目录 8、相对路径写法不一样,硬链接不能用相对路径,写相对路径就会找不到文件路径,而软链接可以使用相对路径
使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
mkdir -p /tmp/{a1/{a,b},a2}
输出结果:
mkdir -p /tmp/{x,q}/{y,z}
输出结果:
文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
(1) 文件的元数据有inode号(索引节点号)、文件类型(普通文件、链接文件、目录文件、块设备文件、管道文件等)、ugo权限(user、group、other的rwx权限)、链接数(链接到这个文件的文件个数)、文件所属者(创建者)和所属组(创建者所属组)、时间戳(默认显示mtime)等信息。
(2) stat命令可以查看时间:
三个时间戳:
access time:访问时间,atime,读取文件内容 modify time: 修改时间, mtime,改变文件内容(数据) change time: 改变时间, ctime,元数据发生改变
touch [OPTION]... FILE...
-a 仅改变 atime和ctime -m 仅改变 mtime和ctime -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳 touch –a file,可修改当前文件的访问时间 touch -m file,可修改当前文件的时间
如:touch f2 新建一个文件
stat f2 查看当前文件夹被访问时间 修改时间
touch -a f2 修改访问时间
touch -m f2 修改当前文件修改时间
在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
第一种方法: touch /tmp/tfile-`date +%F-%T | tr “:” “-”`
第二种方法: touch /tmp/tfile-`date "+%Y-%m-%d-%H-%M-%S"`
复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1 新建一个mytest1目录
cp -r /etc/p*[^0-9] /tmp/mytest1 然后复制到mytest1目录下
创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
groupadd tom groupadd jack useradd -u 5001 –d /tmp/tom –s /bin/zsh -g tom –G jack tom
下面是显示指定的家目录和shell目录结果:getent passwd
常用的用户以及文件管理命令有哪些,并演示命令以及用法。
用户管理命令
useradd -u指定uid
-g指定主组 -G指定附加组 -c注释 -d指定家目录(不用默认家目录) -s指定shell
演示:
groupadd xiao
groupadd ma
groupadd liu
groupadd li
useradd -g li -G xiao,ma,liu sun 新建一个sun用户,li作为主组,xiao,ma,liu作为附加组。
usermod -u指定新的uid
-g指定新的主组 -G指定新的附加组(加-a保留原有附加组) -s指定新的shell -e YYYY-MM-DD:指定用户账号过期日期
演示:
useramod -G wang liu 将liu加入到wang的附加组
userdel -r删除家目录
-f 强制删除用户,即使是正在登陆的用户 id -u显示uid -g显示gid -G显示附加组id su username非登陆切换,不读取目标用户的配置文件 su - username登陆式切换,会读取目标用户的配置文件
passwd [OPTIONS] UserName: 修改指定用户的密码
常用选项:
-d:删除指定用户密码 -l:锁定指定用户 -u:解锁指定用户 -e:强制用户下次登录修改密码 -f:强制操作 -n mindays:指定最短使用期限 -x maxdays:最大使用期限 -w warndays:提前多少天开始警告 -i inactivedays:非活动期限 --stdin:从标准输入接收用户密码 echo "PASSWORD" | passwd --stdin USERNAME
创建组
groupadd [OPTION]... group_name
-g GID: 指明GID号; -r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000
修改和删除组
组属性修改:groupmod
groupmod [OPTION]... group -n group_name: 新名字 -g GID: 新的GID
组删除:groupdel
groupdel GROUP
更改组密码
组密码:gpasswd
gpasswd [OPTION] GROUP
-a user 将user添加至指定组中 -d user 从指定组中移除用户user -A user1,user2,... 设置有管理权限的用户列表
newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码
更改和查看组成员
演示:
gpasswd -a wang li 将li 作为wang的附加组
groupmems [options] [action]
options:
-g, --group groupname 更改为指定组 (只有root) Actions: -a, --add username 指定用户加入组 -d, --delete username 从组中删除用户 -p, --purge 从组中清除所有成员 -l, --list 显示组成员列表 groups [OPTION].[USERNAME]... 查看用户所属组列表
演示:
groupmems -a liu -g ma指定将ma 做为liu的附加组
Linux常用命令及文件管理的更多相关文章
- Linux常用命令梳理——文件管理(一)
由于本人目前仍是萌新一枚,所以<Linux常用命令梳理>系列仅依照个人目前掌握的知识,对一部分命令进行梳理,目的是为了对之前学到的知识进行巩固.当然了,如果机缘巧合被大家看到了,也欢迎各位 ...
- Linux常用命令总结——文件管理
Linux中的目录 路径:也就是linux中的目录(文件夹)有绝对路径和相对路径 根目录:/ 用户主目录(home directory):位于/home目录下,用户登录时 工作目录(working d ...
- Linux学习笔记之四————Linux常用命令之文件管理
Linux命令——文件管理相关命令 <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或 ...
- linux常用命令之文件管理
LS ls:list directory contents 默认情况 默认情况下显示的是mtime 选项 -a 列出全部文件及目录包括隐藏的 -l 列出详细信息,包括文件类型.权限.节点.owner. ...
- Linux 常用命令 , 其他名 , 文件管理
Linux 常用命令 , 其他名 , 文件管理 一丶Linux常用的指令 1. bsystemctl stop firewalld #关闭防火墙 2. iptables -F #清空防火墙规则 3. ...
- linux常用命令的介绍
本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...
- linux——常用命令与脚本
linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...
- linux 常用命令及技巧
linux 常用命令及技巧 linux 常用命令及技巧:linux 常用命令总结: 一. 通用命令: 1. date :print or set the system date and time 2. ...
- Linux常用命令手册
Linux常用命令手册 NO 分类 PS1 命令名 用法及参数 功能注解 对应章节 1 文件管理 # ls ls -a 列出当前目录下的所有文件,包括以.头的隐含文件 文件管理 # ls ls ...
随机推荐
- [CareerCup] 2. Bomberman 炸弹人
We have a 2D grid. Each cell is either a wall, an enemy or empty. For example (0-empty, X-enemy, Y-w ...
- 转载【oracle切换表空间】
http://blog.itpub.net/28939273/viewspace-1061476/ [root@yoon ~]# more /etc/oracle-releaseOracle Linu ...
- Azure AADSTS7000215 其中一种问题的解决
众所周知,Azure提供了整套的rest api,经过认证和授权,完美阐述了”我是谁,我能做什么“.对资源层的操作,我们很多时候是使用Powershell或者Azure CLI或者各个语言的SDK, ...
- QT信号槽连接
一:信号槽是什么? Qt的信号和槽机制是Qt的一大特点,实际上这是和MFC中的消息映射机制相似的东西,要完成的事情也差不多,就是发送一个消息然后让其它窗口响应,当然,这里的消息是广义的说法,简单点说就 ...
- Jmeter进行接口流程测试
Jmeter进行简单的流程测试 此次完成的流程:添加文章-删除文章 总的如下: 一.测试计划 用户定义的变量中,我定义了3个变量: 二.HTTP cookie管理器 填写要添加的cookie 三.JD ...
- [转帖]MMU内存管理单元
MMU内存管理单元 https://www.cnblogs.com/alantu2018/p/9002309.html 之前对这一块一直不理解 最近学习了点 CPU time slice 以及 con ...
- Appium+unittest+python登录app
代码: # coding=utf-8 from appium import webdriver import time import unittest import os import HTMLTes ...
- Java Foreach用法
java中的while.for.if.switch等用法和c语言差不多,所以我们关注下foreach就行了. 一.创建ForeachTest.java public class ForeachTest ...
- 4.JVM 实战操作
1.1 JVM参数 1.1.1 标准参数 -version -help -server -cp 1.1.2 -X参数 非标准参数,也就是在JDK各个版本中可能会变动 -Xint 解释执行 -Xcomp ...
- HTTP最常见的请求头
HTTP最常见的请求头如下: l Accept:浏览器可接受的MIME类型: l Accept-Charset:浏览器可接受的字符集: l Accept ...