目录
五.linux ctl命令,Linux中timedatectl命令详解
一.思维导图
二.linux的简单命令
1. 查看帮助文档
1,--help
一般是linux命令自带的帮助信息
如:ls --help
2,自动补全
在敲出命令的前几个字母的同时,按下tab键,系统会自动帮我们补全命令
一个tab补全,如果有唯一定位的,自动出来。
两个tab所有满足条件的都列出出来。
3,历史命令
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
2.文件管理
1,查看文件信息:ls
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。
Ls 的常用命令:
(1)Ls -a: 显示指定目录下所有子目录与文件(包括隐藏文件)
(2) Ls –l: 以列表方式显示文件的详细信息。
(3) Ls –h: 配合字母 –l 以人性化的方式显示文件大小。
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
2,切换工作目录: cd
在使用Unix/Linux的时候,经常需要更换工作目录。cd命令可以帮助用户切换工作目录。
Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录。
Cd :后跟切换的目录。
./ 当前目录 ../上级目录
~ 家目录 - 返回上次所在的目录
Cd / 使用绝对路径 cd ./ 文件夹(相对路径)
Pwd 查看当前路径
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。
3,输出重定向命令:>
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
如:ls > test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )
注意: >输出重定向会覆盖原来的内容,
>>输出重定向,则会追加到文件的尾部。
4.more 显示文件信息
5,管道:|
管道:一个命令的输出可以通过管道做为另一个命令的输入。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,
这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
如:ls | more
6,清屏:clear
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrl + l ( “l” 为字母 )。
7,文件目录的创建删除
(1)创建目录:mkdir
通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
(2)删除目录:rmdir
可使用rmdir命令删除一个目录。必须离开目录,并且目录必须为空目录,不然提示删除失败。
如果目录不为空可以使用下面的rm命令
(3)创建文件:touch
可使用touch命令创建一个文件
(4)删除文件:rm
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件。
常用参数及含义如下表所示:
-r 已经行交互式进行执行(删除)
-f 强制删除,忽略不存在的文件,无需提示(可以删除目录文件)
-r 递归删除目录下的内容,删除文件夹时必须加上此参数
一般同时使用 –rf 可以删除目录和文件
8,建立链接文件:ln
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效。相当于快捷方式
硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
ln 源文件 硬链接文件
ln -s 源文件 软链接文件
9,查看或者合并文件内容:cat:显示的信息为全部,
cat 1.txt 与 more 都是查看文件内容,more:要是多个文件组成的内容,分文件显示,查看完在现实下一个文件。
cat 2.txt
cat 1.txt 2.txt
cat 1.txt 2.txt > 3.txt
cat 1.txt 2.txt >> 4.txt
分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助
10,文本搜索:grep
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
grep [-选项] ‘搜索内容串’文件名
常用选项说明:
-V:显示所有不包含所有的匹配行
-n: 显示匹配行及行号。
-i:忽略大小写
more 1.txt | grep -n 1
more 2.txt | grep -n 2
11,查找文件:find
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
12,拷贝文件:cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
cp 1.txt 11.txt
13,移动文件:mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
mv 11.txt ../
14,归档管理:tar
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式 tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:ls -alh
tar -cvf 1234.tar 1.txt 2.txt 3.txt 4.txt
tar -tf 1234.tar
tar -xvf 1234.tar
注意:除了f需要放在参数的最后,其它参数的顺序任意。
15,文件压缩解压:gzip
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。 .zip .rar .7z
gzip -r 1234.tar
gzip -d 1234.tar.gz
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
16,查看命令位置:which
which pip3
三.Linux的file命令详解
1.用途说明
file命令是用来检测并显示文件类型(determine file type)。
2.常用参数
-b 不显示文件名称,只显示文件类型。在shell脚本中时有用。
-i 显示MIME类别。
-L 直接显示符号连接所指向的文件的类别。
-f namefile 指定名称文件(namefile),该文件每一行为一个文件名,file命令将按每一行的文件名辨别该文件的类型
Linux的file命令使用示例
3.示例一 显示文件类型
[root@web ~]# file install.log
install.log: UTF-8 Unicode text
[root@web ~]# file -b install.log <== 不显示文件名称
UTF-8 Unicode text
[root@web ~]# file -i install.log <== 显示MIME类别。
install.log: text/plain; charset=utf-8
[root@web ~]# file -b -i install.log
text/plain; charset=utf-8
[root@web ~]#
4.示例二 显示符号链接的文件类型
[root@rhel55 ~]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 08-13 00:11 /var/mail -> spool/mail
[root@rhel55 ~]# file /var/mail
/var/mail: symbolic link to `spool/mail'
[root@rhel55 ~]# file -L /var/mail
/var/mail: directory
[root@rhel55 ~]# file /var/spool/mail
/var/spool/mail: directory
[root@rhel55 ~]# file -L /var/spool/mail
/var/spool/mail: directory
[root@rhel55 ~]#
5.示例三
[root@web186 root]# file *
1.sh: ASCII text
1.txt: empty
20080308xzmf.txt: ASCII text, with CRLF line terminators
448FD15874B0DC51.wav: RIFF (little-endian) data, WAVE audio, ITU G.711 a-law, mono 8000 Hz
449110BA327B23C6.vox: 8086 relocatable (Microsoft)
600d.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz
anaconda-ks.cfg: ASCII English text
banner.swf: data
commons-beanutils.jar: Zip archive data, at least v1.0 to extract
cvs_accept.sh: Bourne shell script text executable
data: directory
employer0605.txt: Non-ISO extended-ASCII text
GetFirstFile.class: compiled Java class data, version 49.0
GetFirstFile.java: ASCII Java program text
HELPFILE: C++ program text
httptunnel.zip: Zip archive data, at least v2.0 to extract
iptables_man.txt: ASCII English text, with overstriking
lnx61su_171.tar.gz: gzip compressed data, from Unix
megamgr.bin.filepart: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, statically linked, stripped
MegaPR_Linux_A02.tar.gz: gzip compressed data, was "MegaPR_Linux_A02.tar", from Win/32
mess0429.txt: ISO-8859 text, with very long lines
smartmontools-5.36.tar.gz: gzip compressed data, from Unix, max compression
sms.qunfa: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
sms.vip.cfg: ISO-8859 text, with very long lines
top.txt: ASCII text, with CRLF, LF line terminators
voice20061128.rar: RAR archive data
vox2amr.sh: Bourne-Again shell script text executable
[root@web186 root]#
注:使用file命令显示出来的文件类型有些情况下不一定太准确,如上面黑体显示的.vox文件格式,应该是Dialogic VOX File格式的。
四.Linux的stat(status)命令详解
功能说明:获取文件的属性,例如大小,最后的修改时间等inode内容, stat以文字的格式来显示inode的内容。
语法:stat [文件或目录]
1.参数:
# stat --help
Usage: stat [OPTION] FILE...
Display file or file system status.
-L, --dereference follow links
-Z, --context print the security context information if available
-f, --file-system display file system status instead of file status
-c --format=FORMAT use the specified FORMAT instead of the default;
output a newline after each use of FORMAT
--printf=FORMAT like --format, but interpret backslash escapes,
and do not output a mandatory trailing newline.
If you want a newline, include \n in FORMAT.
-t, --terse print the information in terse form
--help display this help and exit
--version output version information and exit
The valid format sequences for files (without --file-system):
%a Access rights in octal
%A Access rights in human readable form
%b Number of blocks allocated (see %B)
%B The size in bytes of each block reported by %b
%d Device number in decimal
%D Device number in hex
%f Raw mode in hex
%F File type
%g Group ID of owner
%G Group name of owner
%h Number of hard links
%i Inode number
%n File name
%N Quoted file name with dereference if symbolic link
%o I/O block size
%s Total size, in bytes
%t Major device type in hex
%T Minor device type in hex
%u User ID of owner
%U User name of owner
%x Time of last access
%X Time of last access as seconds since Epoch
%y Time of last modification
%Y Time of last modification as seconds since Epoch
%z Time of last change
%Z Time of last change as seconds since Epoch
Valid format sequences for file systems:
%a Free blocks available to non-superuser
%b Total data blocks in file system
%c Total file nodes in file system
%d Free file nodes in file system
%f Free blocks in file system
%C Security context in SELinux
%i File System ID in hex
%l Maximum length of filenames
%n File name
%s Block size (for faster transfers)
%S Fundamental block size (for block counts)
%t Type in hex
%T Type in human readable form
2.范例:
不带参数,显示文件inode信息
# stat linuxeye2.txt
File: `linuxeye2.txt'
Size: 26 Blocks: 8 IO Block: 4096 regular file
Device: ca00h/51712d Inode: 265016 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2013-06-17 16:19:11.000000000 +0800
Modify: 2013-06-19 17:50:11.000000000 +0800
Change: 2013-06-19 17:50:11.000000000 +0800
带参数,stat查看文件大小
# stat -c %s linuxeye2.txt
26
带多个参数,显示文件多个信息
# stat -c'%Z| %s' linuxeye2.txt
1371635411| 26
五.linux ctl命令,Linux中timedatectl命令详解
1.查找和设置Linux本地时区
1.显示系统的当前时间和日期# timedatectl status
结果中RTC time就是硬件时钟的时间。
2.Linux系统上的time总是通过系统的timezone设置的,查看当前时区:# timedatectl | grep Time
3.查看所有可用的时区:# timedatectl list-timezones
4.根据地理位置找到本地的时区:# timedatectl list-timezones | egrep -o “Asia/B.*”
# timedatectl list-timezones | egrep -o “Europe/L.*”
# timedatectl list-timezones | egrep -o “America/N.*”
5.在Linux中设置本地时区,使用set-timezone开关:# timedatectl set-timezone “Asia/shagnhai”
如何在Linux中设置时间和日期
6.可以使用timedatectl命令设置系统的日期和时间:
只设置时间的话可以使用set-time开关以及HH:MM:SS(小时,分,秒)的时间格式。# timedatectl set-time 15:58:30
7.只设置日期的话可以使用set-time开关以及YY:MM:DD(年,月,日)的日期格式。# timedatectl set-time 20151120
8.设置日期和时间:# timedatectl set-time '16:10:40 2015-11-20'
在Linux中查找和设置硬件时钟
9.设置硬件时钟为UTC可以使用 set-local-rtc boolean-value选:
首先确定硬件时钟是否设置为本地时区:# timedatectl | grep local
将硬件时钟设置为本地时区:# timedatectl set-local-rtc 1
将硬件时钟设置为UTC:# timedatectl set-local-rtc 0
将Linux系统时钟同步到远程NTP服务器
NTP即Network Time Protocol(网络时间协议),是一个互联网协议,用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步Linux系统时钟到使用NTP的远程服务器(你必须在系统上安装NTP以实现与NTP服务器的自动时间同步)。
开始同步到远程NTP服务器,在终端键入以下命令:# timedatectl set-ntp true
禁用NTP时间同步,在终端键入以下命令:# timedatectl set-ntp false
六.Linux date命令的用法
1、命令:date
2、命令功能:date 可以用来显示或设定系统的日期与时间。
3、命令参数
-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
–help:在线帮助;
–version:显示版本信息。
4、日期格式字符串列表%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
5、实例格式化输出:
date +"%Y-%m-%d"
2015-12-07
输出昨天日期:date -d “1 day ago” +"%Y-%m-%d"
2015-11-19
2秒后输出:date -d “2 second” +"%Y-%m-%d %H:%M.%S"
2015-11-20 14:21.31
传说中的 1234567890 秒:date -d “1970-01-01 1234567890 seconds” +"%Y-%m-%d %H:%m:%S"
2009-02-13 23:02:30
普通转格式:date -d “2009-12-12” +"%Y/%m/%d %H:%M.%S"
2009/12/12 00:00.00
apache格式转换:date -d “Dec 5, 2009 12:00:37 AM” +"%Y-%m-%d %H:%M.%S"
2009-12-05 00:00.37
格式转换后时间:date -d “Dec 5, 2009 12:00:37 AM 2 year ago” +"%Y-%m-%d %H:%M.%S"
2007-12-05 00:00.37
加减操作:date +%Y%m%d #显示前天年月日
date -d “+1 day” +%Y%m%d #显示前一天的日期
date -d “-1 day” +%Y%m%d #显示后一天的日期
date -d “-1 month” +%Y%m%d #显示上一月的日期
date -d “+1 month” +%Y%m%d #显示下一月的日期
date -d “-1 year” +%Y%m%d #显示前一年的日期
date -d “+1 year” +%Y%m%d #显示下一年的日期
设定时间:date -s #设置当前时间,只有root权限才能设置,其他只能查看
date -s 20120523 #设置成20120523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 #设置具体时间,不会对日期做更改
date -s “01:01:01 2012-05-23” #这样可以设置全部时间
date -s “01:01:01 20120523” #这样可以设置全部时间
date -s “2012-05-23 01:01:01” #这样可以设置全部时间
date -s “20120523 01:01:01” #这样可以设置全部时间
检查一组命令花费的时间:#!/bin/bash
start=KaTeX parse error: Expected 'EOF', got '&' at position 34: …an.linuxde.net &̲> /dev/null en…(date +%s)
difference=$(( end - start ))
echo $difference seconds.
七.linux ls命令使用方法
ls命令是linux下最常用的命令之一(同时也是使用频率最高的命令)。
1.ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在…代表存在着父目录)。
2.ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
3.ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@“表示符号链接、”|“表示FIFOS、”/“表示目录、”="表示套接字。
4.ls -s 在每个文件的后面打印出文件的大小。 size(大小)
5.ls -t 按时间进行文件的排序 Time(时间)
6.ls -A 列出除了".“和”…"以外的文件。
7.ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
8.ls -L 列出文件的链接名。
9.ls -S 以文件的大小进行排序
八.linux 查看命令帮助,Linux的查看命令帮助方法
怎么查看命令的帮助呢?linux命令N多个,当然要学会以一贯穿百,要懂得举一反三,那就需要不懂的会自己查linux自带的帮助文档了,有助于帮助我们更好的实现。
ls --help
man ls
man的类型章节,重点有:1、用户命令;5、配置文件;8、管理员命令
帮助的阅读方法 : “...”代表可重复;[]代表可选择;{}<>代表必选项;|代表其中之一
info
类似浏览网页,有连接,比man更全面。
TAB寻找*连接
?帮助
man 和 info 也有搜索功能
rpm包自带的帮助文档
/usr/share/doc/
一.帮助
1.ls --help: []代表可选项,...代表可以有多个,<>必选项。
2.infols: 进去之后敲?可以查看info的用法,退出按q。
3.type ls: 查看ls别名的全意思。
4.whichls: 查看ls命令所在位置。
如:[root@localhost ~]# which ls
alias ls='ls --color=tty'
/bin/ls
5.man 帮助信息,“[]”为可选,不是中括号必选。
man 1 用户命令
man 2 系统调用
man 3 库调用
man 4 特殊文件
man 5 配置文件
man 6 游戏
man 7 杂选
man 8 系统命令
man 9 内核参考
/关键字:查找关键字、n向下翻、N向上翻
g回到顶端、G回到底端
man -f passwd 精确查询
man -a passwd 查找全部man pagea
man -k passwd 模糊查询man -k passwd | grep --color passwd 带颜色查找
[root@localhost~]# cat -n install.log | less 每晚02:04分维护man库
doc帮助:
/usr/share/doc/