常用命令整理

author author     2022-10-29     480

关键词:

  ·        alias 用于定义和查询别名,但不保存。修改home目录下.bashrc保存


定义别名格式,不加参数即查询别名:


alias command aliasname


使用unalias aliasname取消别名


不取消别名执行原命令


\aliasname


"aliasname"


/path/name


·        basename 用于显示文件夹或者文件的基本名称


如以下实例:


basename /etc/ 输出结果为etc


basename /etc/passwd 输出结果为passwd


·        bc 内置计算器


可以进行进制转换如:


ibase=16指把16禁止转换为10进制


obase=8指把十进制转换为8进制


·        cd 切换目录


cd ~username切换到指定用户home目录


cd - 切换到前一次工作目录


cd !$ 把上一个命令的参数作为此次执行参数


·        cp 复制文件


命令格式:


cp [option] source destcp 选项 复制源 复制目的地


·        当源为一个文件


1.    如果目标文件不存在,则新建并将源内容填充


2.    如果目标存在且是文件,将源内容覆盖。(此操作会丢失数据建议使用"-i"选项)


3.    如果目标是目录则新建与源文件同名文件并将源文件填充


·        源source可以为多个,此时dest目的地必须为目录否则报错


·        如果源为目录,则必须使用"-r"选项


1.    如果dest不存在创建目录并复制


2.    如果存在但dest为文件则报错


3.    如果dest为目录,将在dest下新建同名目录并复制


常用参数


-v:复制过程可见


-i:覆盖前提示


-n:不覆盖(如果与"-i"同时使用时要注意顺序)


-r、R:递归复制目录即目录下所有内容(复制目录是必须加)


-d如果源为软链接则只将链接文件复制


-p:将源文件属性一同复制


-a:等同于-dpr


-f:强制覆盖,(在当前没有对目标文件权限但对目标文件所在目录有权限的情况下是先将目标文件删除并新建同名文件)


-u:只复制源中更新或目标中不存在的文件


--backup=numbered 在目标存在时,覆盖前加数字后缀备份如:cp --backup=numbered /test ./


会把/test复制到当前目录并且当前目录下重名文件加数字后缀


 


·        cat 查看文件内容


cat filename


cat可以使用IO重定向实现更高级的功能


·        date 显示时间,通常用作变量


-d 显示指定字符串时间


date -d "-3 day" +%F%A    显示三天前日期,星期


+%F 以年-月-日格式显示时间


+%T 以时-分-秒显示


+%Y


+%m


+%d


+%H


+%M


+%S


+%a 英文星期缩写


+%A 英文星期全拼


+%w 数字方式显示星期


date -s "2017-12-01 15:20:03"设置当前日期时间


·        du -sh /path 显示指定目录大小


·        echo 显示信息


echo $SHELL 显示当前登录shell(用来显示变量内容)


echo nihao > /dev/tty2 向指定终端发送信息


echo nihao >> test.txt 向文件末尾添加内容


-n 显示内容换行


-E 不使用解释功能(默认)


-e 使用解释功能


"\a"发出警告音


"\b"退格


"\c"换行


"\n"换行


"\t"插入tab


"\r"光标移到行首


下面的内容不属于echo命令的范围,但可能会经常用到,故放到一起


echo $(command)或'command'引用命令执行结果,反向单引号


echo $[    ]或$((   )) 进行运算


echo $[变量名]或'$变量名' 引用变量,单引号


由于echo也常用来显示变量,这里也把常用的变量放在一起


PS1,控制命令提示符格式


PATH,系统环境变量


SHELL,记录当前登录终端


·        enable 显示和管理内部命令


不加选项和参数的时候显示当前SHELL即bash支持的内部命令,可以使用type command 查看一个命令是否属于内部命令(内部命令集成于SHELL内部,不同的shell程序会有不同的内部命令,以下内容基于bash其他shell未作尝试)


-n command 禁用一个内部命令,不加参数显示已禁用内部命令列表


enable command不加选项启用一个内部命令


-a 显示所有内部命令,包括已禁用


 


相关概念,外部命令以及hash


外部命令指存于硬盘上的命令,系统通过PATH变量寻找外部命令位置,已经运行过的外部命令会被系统保存可以通过hash命令进行管理


·        hash 管理外部命令缓存表


-l 查看所有已缓存命令


-d name 删除指定缓存


-p path name 将命令完整path定义别名name并加入缓存


-r 清空缓存表


-t name 查看指定别名路径


·        file 显示指定文件的文件类型(linux下文件扩展名不敏感,在无法确定文件类型的时候可以使用files /path/filename查询指定文件的文件类型)


·        free 显示系统内存使用情况


支持以指定单位显示,如“-k 、-m”或者使用-h系统自动选择合适的单位显示。


-s second 指定间隔时间(单位为秒)持续查看内存使用


如:free -s 3 指每隔3秒在屏幕输出内存使用情况


·        history 历史命令管理


~/bash_history 用户登出时将当前终端历史命令写入,重新登陆时读取


-a 将历史记录写入文件


-n 读取未加载历史记录


-r 从文件读取历史加到history


-c 清空历史


相关变量 相关设置文件/etc/profile


HISTSIZE:命令记录条数,默认6系500,7系1000


HISTFILE:指定记录文件,默认.bash_history


HISTFILESIZE:命令历史记录文件的历史条数


常用快捷指令:


command !^ 用上一条命令的第一个参数做cmd的参数


!$ 上一个命令的最后一个参数


!* 全部参数


!:n 上一个命令的第n个参数


如:上一条命令为 ls /root /tmp /usr


则  ls !^      ls !$        ls !:2      ls !*分别等同于


ls /root       ls /usr     ls /tmp     ls /root /tmp /usr


关于历史命令的详细内容可以参考:


http://www.178linux.com/93865


·        ls 列出目录的内容或指定目录


用法:ls [option] [path]


-a 显示所有内容包含隐藏文件


-l 长列出,默认已经定义别名“ll=ls -l”


-R 递归列出


-ld 显示目录和符号链接信息本身,而不显示目录下或者链接指向的文件。


-L 如果目标为软连接,则指向链接文件


-1 分行列出(单列显示)


-t 按照mtime排序


-S 按文件大小降序排列


-r反向倒序排列


-U按目录存档顺序排序


-X按文件名后缀顺序


-Z 显示selinuxcontext


-n 以UID和GID代替长列出里所属用户和所属组的显示


-i 显示文件inodes


-ut atime(读取时间)从新到旧排序


-c 按照ctime排序


--time=atime /path 显示指定文件读取时间access time


--time=ctime /path 显示指定文件状态更改时间ctime


--full-time 列出完整的日期和时间


相关概念


·        元数据


元数据是文件系统管理文件创建的和文件本身数据分开的关于文件属性信息的数据。


·        三个时间戳:


可以使用stat命令查看文件所有状态信息即inode


atime:访问时间,即当读取文件后会刷新


mtime:修改时间,当文件内容被更改之后刷新


ctime:改变时间,当文件元数据改变刷新


3.  touch 创建空文件和刷新文件时间


当touch一个已存在的文件,会刷新该文件所有时间


-a 改变atimectime


-m 改变mtimectime


-t YYMMDDhhmm.ss指定时间戳这个参数格式和命令帮助里的[[CC]YYMMDDhhmm.ss]]效果相同。(CC为年份中的世纪部分也就是年份前两位)详细信息可以参考下面的文章:每日一个linux命令,touch


4.  inode文件索引节点


inode的概念和文件系统管理文件有关,这里只通过一个例子简单说明一下,更多详细的信息,可能会在单独下一篇吧。之所会有人把这个称作索引是因为inode存储的并不是数据本身而是文件的各种属性。举个例子,你有一个大箱子,这个箱子被分割成了很多个小格子,里面放了很多的东西,很显然当你需要找这个东西的时候如果翻遍每一个格子显然效率低下,怎么办呢,你可以留一部分格子不存放东西,用来存放标签,每个标签对应着一个东西,并且每个标签都有一个编号,这个编号就叫inode号。标签上写着对应东西的各种属性,比如大小、所有人、存放位置等等。那这些存放着对应文件各种属性的数据我们叫它inode表。操作系统在访问硬盘上的文件时只需要根据inode表的信息就可以访问到对应文件。


a.     inode和mv


同样的,如果是在同一个设备(即同一分区)执行mv命令,那么文件系统也只是将inode表中文件路径的属性进行变更,不会对文件本身进行任何操作


b.    inoderm


由于操作系统是通过inode表访问文件,所以在执行rm的时候系统只是把对应的inode号释放,并不会对文件数据本身进行操作


c.     补充:inode会占用一定的硬盘空间


a.     不同的分区对应的是独立的文件系统,也就是说inode是不跨分区的,不同的分区下会存在相同的inode


b.    inode编号数量有系统根据磁盘大小分配,所以当有海量小文件的情况下会出现inode编号耗尽而无法创建新文件的情况。可以使用df -i查看分区的inode使用情况


c.     某些特殊情况下可以通过删除inode号来删除一些无法正常删除的文件


d.    目录是一种特殊的文件,除了目录本身的inode目录的数据内容存放的是目录下文件的inode信息(并非inode


e.    inode损坏会导致文件的数据无法访问,在确定文件数据没有损坏的情况下可以进行恢复


e.  软连接和硬链接


a.     软链接是一个单独的文件,拥有独立的inode。等同于win中的快捷方式。


b.       硬链接和源文件本质上是一个文件,共享inode。简单理解就相当于一个人的不同姓名,也因此,硬链接并不能跨分区存在。(参考inode部分内容)


c.       用ln命令可以创建软链接或硬链接


ln filename linkname创建名为linkname的filename的硬链接


ln -s filename linkname创建名为linkname的filename的软链接


f.  通配符:ls命令支持通配符,但通配符不止支持ls命令


##[]中括号内的内容代表一个字符,所有下表中带有中括号的内容匹配的都是一个字符


##大括号可以用来打印重复字符串的简化形式


##!如echo file1,2,3等同于echo file1 file2 file3


echo 1..5等同于echo 1 2 3 4 5


echo 1..3a..c遍历组合等同于


echo 1a 1b 1c 2a 2b 2c 3a 3b 3c


 


*


任意多个字符包括零个



任意单个字符


~


当前用户home目录


~-


前一个工作目录


~A


A的home目录


[0-9]


数字


[abcd]


列表中的任一字符


[^abcd]


除列表中的字符


[:digit:]


任意数字


[:lower:]


任意小写字母


[:upper:]


任意大写字母


[:alpha:]


任意大小写字母


[:alnum:]


任意数字字母


以上为常


用内容


[:blank:]


水平或空白字符


[:punct:]


标点符号


[:print:]


可打印字符


[:xdigit:]


16进制字符


 


·        lsof   可以查看进程打开的文件,打开文件的进程,进程打开的端口等


########似乎比较重要,但所讲不多,以后提到在进行更新


·        mv 移动、重命名(此命令与cp命令相似,可参考cp命令选项和参数)


用法:mv [选项] [参数]


-i 交互模式


-b 当目标存在,覆盖前创建一个备份


-f 若目标存在,直接覆盖


-u 当源文件比较新或者目标文件不存在时才执行操作


可以通过定义别名实现类回收站功能


自行百度


·        screen 会话管理


-ls列出所有会话


-S name 创建指定名称的新会话


-x name 加入指定名称会话


-r name 恢复指定会话


exit 退出并关闭会话


不加选项默认创建名称为"终端名-主机名"的新会话


·        shutdown 关机 [opt]可以为空


shutdown [opt] time [message]  time为空时默认+1


-r 重启


-h 关机


-c 取消计划关机


now立即执行


+x x分钟后关机


hh:mm 指定时间计划关机


·        strace 查看系统调用


·        ltrace查看库调用


 


 

git常用命令整理

git常用命令整理 查看当前分支:gitbranch切换分支:gitcheckout****(分支名)创建分支:gitbranch****(分支名)删除分支:gitbranch-D****(分支名)添加:gitadd*查看已添加我文件:gitstatus-s提交:gitcommit-m‘此处填修改描述‘查看更... 查看详情

maven常用命令整理

maven主要的配置文件为pom.xml和settings.xml这两个文件,常用的命令如下:1.编译java文件, mvncompile2.打包 mvnpackage3.安装mvninstall4.清除所有输出mvnclean  查看详情

centos最常用命令及快捷键整理

CentOS最常用命令及快捷键整理 整理了Linux常用命令及快捷键。常用命令:文件和目录:#cd/home            进入‘/home’目录#cd..          查看详情

arthas常用命令整理

...档今天是1024程序员节。昨天研究了下arthas整理一下笔记常用命令watchwatch—Arthas3.5.4文档同时观察方法调用前和方法返回后$watchdemo.MathGameprimeFactors"params,target,returnObj"-x2 查看详情

arthas常用命令整理

...档今天是1024程序员节。昨天研究了下arthas整理一下笔记常用命令watchwatch—Arthas3.5.4文档同时观察方法调用前和方法返回后$watchdemo.MathGameprimeFactors"params,target,returnObj"-x2-b 查看详情

arthas常用命令整理

...档今天是1024程序员节。昨天研究了下arthas整理一下笔记常用命令watchwatch—Arthas3.5.4文档同时观察方法调用前和方法返回后$watchdemo.MathGameprimeFactors"params,target,returnObj"-x2-b 查看详情

git常用命令整理

gitconfig--globaluser.name"xxx"#配置用户名gitconfig--globaluser.email"[email protected]"#配置邮件gitconfig--globalcolor.uitrue#gitstatus等命令自动着色gitconfig--globalcolor.statusautogitconfig--globalcolor.diffa 查看详情

常用命令整理

  ·       alias用于定义和查询别名,但不保存。修改home目录下.bashrc保存定义别名格式,不加参数即查询别名:aliascommandaliasname使用unaliasaliasname取消别名不取消别名执行原命令\aliasname"aliasname&... 查看详情

转载常用emacs命令整理

常用Emacs命令整理这儿列出的只是常用命令,详细的可以看这个中文Tutorial。基本命令C-xC-c:退出EmacsC-xC-f:打开一个文件,如果文件不存在,则创建一个文件C-g:取消未完成的命令编辑C-z(redefined):Undo;原来C-z是挂起Emacs(然后用fg命... 查看详情

git常用命令整理(代码片段)

YouhaveanemptyrepositoryTogetstartedyouwillneedtorunthesecommandsinyourterminal.ConfigureGitforthefirsttimegitconfig--globaluser.name"fhw"gitconfig--globaluser.email"[email protected]"Workingwith 查看详情

linux常用命令整理(代码片段)

Linux常用命令整理防火墙查看防火墙状态临时关闭防火墙永久关闭防火墙centos7设置静态ip设置hostname查看当前的hostname修改hostname在windows做主机名和ip地址的绑定Linux中比较重要的几个目录/etc/bin,/sbin,/usr/bin,/usr/sbin/varipaddr命令介绍... 查看详情

git常用命令整理

------创建库-------------------1.创建本地版本库gitinit2.添加文件gitaddfileName3.提交到库gitcommit-m"message"------版本控制,修改-------------------1.工作区修改回退gitcheckout--fileName2.已经add到暂存区的修改回退gitresetHEADfileName然后用checkout3 查看详情

hdfs常用命令整理(代码片段)

简介:HDFS文件系统提供了相当多的shell操作命令,大大方便了程序员和系统管理人员查看、修改HDFS上的文件。进一步,HDFS的操作命令和Unix/Linux的命令名称和格式相当一致,因而学习HDFS命令的成本也大为缩小。1.命令帮助[[email&#... 查看详情

git常用命令整理(转)

初始化配置#配置使用git仓库的人员姓名gitconfig--globaluser.name"YourNameComesHere"#配置使用git仓库的人员emailgitconfig--globaluser.email[email protected]#配置到缓存默认15分钟gitconfig--globalcredential.helpercache#修改缓存时间gitconfig- 查看详情

linux常用命令---hashlinux整理收集

==================================1文件管理2软件管理3系统管理4服务管理5网络管理6磁盘管理7用户管理8脚本相关9服务配置==================================----------------------------------1文件管理----------------------------------创建空白文件touch不提示 查看详情

git使用:安装,使用及常用命令整理

...安装与配置Ubuntu:git与github在ubuntu下的使用   常用git命令清单:  常用Git命令清单(阮一峰)配置命令:一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕 查看详情

docker常用命令整理(代码片段)

文章目录前言docker常用命令整理01查看docker系统02查看所有信息03列出已经下载的镜像04查找官方仓库中的镜像05下载镜像06启动镜像07停止容器07::01停止容器07::02停用全部运行中的容器:07::03删除全部容器07::04一条命令实现停... 查看详情

docker常用命令整理(代码片段)

文章目录前言docker常用命令整理01查看docker系统02查看所有信息03列出已经下载的镜像04查找官方仓库中的镜像05下载镜像06启动镜像07停止容器07::01停止容器07::02停用全部运行中的容器:07::03删除全部容器07::04一条命令实现停... 查看详情