ls指令
语法: ls [选项][目录或文件] 功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -l 列出文件的详细信息。
指令也可以组合
pwd命令
语法: pwd 功能:显示用户当前所在的目录 常用选项:无
cd指令
是change directory的缩写 语法:cd 目录名 功能:改变工作目录。将当前工作目录改变到指定的目录下。 举例: cd … : 返回上级目录 cd /home/litao/linux/ : 绝对路径 cd …/day02/ : 相对路径 cd ~:进入用户家目录(工作目录) cd -:返回最近访问目录
注: …代表上级路径,.代表当前路径 所谓用户家目录,相当于windows下的这个目录 在Linux中路径分隔符是/,与windows中的\不同。
Linux的根目录是/
cd -用于在两个高频使用路径间进行切换(-记录了最近一个到达当前目录的位置)
touch指令
语法:touch [选项]… 文件… 功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。(只能创建普通文件) 常用选项: -a 或–time=atime或–time=access或–time=use只更改存取时间。 -c 或–no-create 不建立任何文档。 -d 使用指定的日期时间,而非现在的时间。 -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。 -m 或–time=mtime或–time=modify 只更改变动时间。 -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。 -t 使用指定的日期时间,而非现在的时间。
touch 文件名 如果是不存在的文件,则会创建这个文件;如果是已经存在的文件,则会修改最近修改access time。
查看时间相关信息的指令
指令:stat 文件名
与文件相关的3种时间
分别是 Access time、Modify time、Change time
nano文本编辑器
类似于windows中的记事本 输入指令 nano 文件名 可以在文件中写内容 写好后按ctrl + x退出(如果没有修改则会直接退出,修改了会询问是否保存,按y保存在按回车则回到命令行界面) 这时用指令 gcc 文件名 编译这个文件(程序),并生成一个叫a.out的文件 用指令 ./文件名(注意斜杠和文件名之间没有空格) 来运行程序
运行程序
找到程序(可以采用绝对路径也可以采用相对路径)+文件名 比如
whoami
命令:whoami 作用:查看当前登录用户的用户名
查看特定指令的系统路径
指令:which 用法:which 指令 作用:显示特定指令的系统路径 (从上图可见指令ll就是ls -l的别名)
指令本质上是可执行文件(程序),相当于windows的.exe文件
给命令起别名
方法:alias 新名字=‘旧指令’ (注意等号两边等不能有空格) 改名只在当前会话有效,也即退出再重新登录上一次的修改就没了。
echo
指令echo可以把后面的文本输出到显示器 比如echo ~可以显示当前用户的工作目录
mkdir指令(创建目录)
语法:mkdir [选项] dirname… 功能:在当前目录下创建一个名为 “dirname”的目录
带-p选项可以递归建立多个目录
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
为了方便查看文件目录树结构,先安装一个软件tree
tree(软件)
安装指令 yum install -y tree 如果不行的化先执行 yum install -y epel-release 再执行最初那条指令。
这时使用指令tree便可以看到刚才递归创建的文件
rmdir指令 && rm 指令(删除目录)
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。 语法:rmdir [-p][dirName] 适用对象:具有当前目录操作权限的所有使用者 功能:删除空目录 常用选项: -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。 注意,rmdir删不了非空目录
rm命令可以同时删除文件或目录 语法:rm [-f-i-r-v][dirName/dir] 适用对象:所有使用者 功能:删除文件或目录 常用选项: -f 即使文件属性为只读(即写保护),亦直接删除 -i 删除前逐一询问确认 -r 删除目录及其下所有文件
所以基本上只要用rm -rf就行了。 但是Linux下没有回收站,删除时要谨慎。
man手册
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册的命令是man 语法: man [选项] 命令 常用选项:num(即数字),在第num章手册中查找。
买来的云服务器上的man手册是不完全的,需要先安装man手册 安装指令为 yum install -y man-pages
在手册界面中,回车是下翻,按q退出手册。
关于手册编号 一共有9个手册,目前只需要关注前3个即可
在Linux中有一条指令也叫printf
cp指令(拷贝)
语法:cp [选项] 源文件或目录 目标文件或目录 功能: 复制文件或目录 说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息
常用选项: -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 -i 或 --interactive 覆盖文件之前先询问用户 -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
如果是 cp 普通文件 普通文件 则会把前一个普通文件的内容拷贝到后一个普通文件中,如果后一个普通文件不存在,则会在当前路径下创建该文件
拷贝的不一定是当前路径的文件,拷贝到的路径也可以不是当前路径 指令 cp 要拷贝的文件(可以用绝对路径/相对路径指定) 拷贝到的地点(可以用绝对路径/相对路径指定) 拷贝目录时,需要带上 -r选项
mv指令(实现剪切或重命名)
剪切:mv 被剪切的文件的路径+文件名 要剪切到的路径 重命名:mv 要重命名的文件 新名称
剪切还是重命名取决于第二个参数 如果第二个参数是已经存在的目录名称,则会把第一个参数文件/目录剪切到第二个参数目录下(这时第一个参数可以有多个文件名或目录名,或者说这时有多个参数,最后一个参数是被剪切到的路径); 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
剪切演示: 重命名演示:
cat指令
语法:cat [选项][文件] 功能: 查看目标文件的内容 常用选项: -b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行
cat后面如果不跟文件名,则会从标准输入读取内容 按ctrl c退出
tac指令
逆序输出内容到标准输出。(指令本身其实是cat的逆序) 使用cat或者tac查看文件时,通过鼠标滚轮上下滚动页面。 如果不用鼠标想要查看大文件,可以使用以下两个指令
讲这两个指令前,先写一段代码生成一个“大文件”
more指令
语法:more [选项][文件] 功能:more命令,功能类似 cat 常用选项: -n 对输出的所有行编号 q 退出more
在more查看文件状态下,按回车是下翻,按q退出查看文件。不能上翻。
more查看前x行内容: 指令为 more -数字x 文件名 这时,如果想查看第100行附近的内容,则直接输入 /100 即可
less指令
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。 less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看但若使用了 less 时,就可以使用\ [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容! 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
语法: less [参数] 文件 功能: less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
head指令
语法: head [参数]… [文件]… 功能: head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。 选项: -n<行数> 显示的行数
tail指令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。
语法: tail[必要参数][选择参数][文件] 功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。 选项: -f 循环读取(按ctrl + z退出) -n<行数> 显示行数
echo指令
echo默认输出空行
echo 字符串 会把字符串输出到标准输出,并且自定换行
重定向
以命令 echo “hello linux” > log.txt 为例
echo本应把hello linux输出到标准输出,而输出重定向>使得hello linux被输出到了log.txt这个文件中(如果过这个文件不存在则会自动创建一个)
输出重定向 > 会清空原始文件内容并重新写入 追加重定向 >> 直接在原始文件末尾追加重定向内容
输入重定向< 这时我们可以按如下方法查看刚才创建的大文件的特定行的内容,比如要查看100到120行的内容,可以先把文件前120行重定向到一个临时文件tmp.txt中,再用tail -20 tmp.txt查看这20行的内容。
管道
如果要通过不创建临时文件产看100到120行内容,则可以用管道
管道是一种文件,把前一条指令处理的结果给下一条指令处理,管道可以组合多条命令使用。
使用管道的时候默认隐式地发生了重定向
时间相关指令date
直接用date会显示格林尼治时间 date 指定格式显示时间: date +%Y:%m:%d date 用法:date [OPTION]… [+FORMAT] 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下 %H : 小时(00…23) %M : 分钟(00…59) %S : 秒(00…61) %X : 相当于 %H:%M:%S %d : 日 (01…31) %m : 月份 (01…12) %Y : 完整年份 (0000…9999) %F : 相当于 %Y-%m-%d 2.在设定时间方面 date -s //设置当前时间,只有root权限才能设置,其他只能查看。 date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00 date -s 01:01:01 //设置具体时间,不会对日期做更改 date -s “01:01:01 2008-05-23″ //这样可以设置全部时间 date -s “01:01:01 20080523″ //这样可以设置全部时间 date -s “2008-05-23 01:01:01″ //这样可以设置全部时间 date -s “20080523 01:01:01″ //这样可以设置全部时间
时间戳
3.时间戳 时间->时间戳:date +%s 时间戳->时间:date -d@1508749502 Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
指令 date +%s 显示时间戳
cal指令
cal命令可以用来显示公历(阳历)日历。公历是现在国际通用的历法,又称格列历,通称阳历。“阳历”又名“太阳历”,系以地球绕行太阳一周为一年,为西方各国所通用,故又名“西历”。
find指令
find -name 文件名 查找文件,给出文件所在路径
grep指令
语法: grep [选项] 搜寻字符串 文件 功能: 在文件中搜索字符串,将找到的行打印出来 常用选项: -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
用法示例
grep支持通配符、正则表达式
zip/unzip指令
语法: zip 压缩文件.zip 目录或文件 功能: 将目录或文件压缩成zip格式 常用选项: -r 递 归处理,将指定目录下的所有文件和子目录一并处理
zip也一个软件 解压后的文件和压缩前的文件名相同,并且不用带上.zip后缀,直接写文件名就可(mv必须写全后缀)。
默认是只对文件夹压缩,没有把文件夹内的文件也保存在压缩包中。 要压缩文件里面的内容要带上-r选项 解压时带-d选项可以指定解压到的路径 格式为 unzip 被解压文件名 -d 解压到的路径
tar指令(打包、解包)
记住两组指令 打包: tar -cvzf 打包(并压缩)后的文件名 要打包(并压缩)的文件名 选项前面的-可有可无 c代表creat,代表建立一个压缩文件 v显示打包过程 z表示采用gzip算法压缩 f必须是最后一个参数(f后面跟文件名),其余参数位置可互换。
解包: tar -xczf (要解包的文件名) 选项前面的-可有可无 x代表解开一个压缩文件 其余同上,f后面跟文件名, 带-C可指定解包到的路径(必须是大写C) (注:先删掉了原来的test目录)
计算器bc
指令 bc 进入计算器 按quit退出(不是q)
uname指令
语法:uname [选项] 功能: uname用来获取电脑和操作系统的相关信息。 补充说明:uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。 常用选项: -a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称 uname -r 只查看内核版本
热键
上下键可以查看历史命令
ctrl r再输入历史命令的部分内容 查找历史命令,找到以后按回车就会执行这条找到的命令
ctrl c 退出死循环
登录状态下ctrl d会退出登录 非登录状态下ctrl d会退出Xshell (ctrl d 是exit的快捷键)
tab补全 假如指令记不清了,可以输入该指令的前几个字符,假如只有一个指令符合,按一次tab就自动补全剩下的字符; 假如有多个指令符合,连按两次tab会显示所有符合的指令
输入 history 会显示所有输入过的历史命令
file 文件名 会显示该文件的具体信息 指令 shutdown -h 会将系统的服务停掉并立即关机
shutdown -s 秒数(接一个数字) 过了这个么多秒后再关机
|