Linux基础命令
刚接触Linux,往往会有一个印象就是Linux操作起来比我们熟悉的windows难,其实不然,只要了解熟知了Linux的CLI界面诸多的命令的用法就能使很多在GUI界面下的操作变的无比简单;以下是Linux使用中的几个基础命令:
1.cd:
cd [-L|-P] [dir] 改变shell 的工作目录,默认是用户的家目录;
cd DIR:切换到DIR目录;
cd: 切换至当前用户的家目录;
cd - :将工作目录切换至上一次的工作目录;两个目录之间的来回切换!
原理: shell中的两个变量:
$PWD
$OLDPWD
cd ~ :将工作目录切换至家目录;root用户可以切换到指定普通用户的家目录下;
cd ~USRNAME;
2.pwd:
显示PWD变量的内容,即显示当前目录;pwd [-LP]
3.ls:
显示目录内容(文件名)
在Linux文件系统中,所有以“.”开始的文件称为隐藏文件;
选项:
-A :显示除了“.”和“..”的所有文件,包括隐藏文件
-d :不显示目录的内容,只显示该目录名;
-l,--long:以长格式显示文件的详细属性信息
/*例如:drwxr-xr-x. 2 whj1 whj1 4096 Mar 4 14:15 Desktop
d:文件类型标识
rwxr-xr-x:文件权限
rwx:文件的属主所具备的权限;
r-x:文件的属组所具备的权限;
r-x:其他用户对该文件所具备的权限;
. :表示该文件是否具有特殊属性;.表示特殊属性
2:该文件被硬连接的次数;
whj1:文件的属主;
whj1:文件的数组;
4096:文件的大小;
Mar 4 14:15-- 文件最后一次被修改的时间;
Desktop:文件名称(文件名不属于文件的属性信息-元数据)
*除了文件名以外的所有信息都是文件的属性;
设备的详细信息:
8:主设备号(major)用于标识设备类型,进而确定要加载何种驱动程序;
0:次设备号(minor)用于标识同一种设备类型的不同设备;
设备号使用8位二进制表示,默认表示范围:0-255;*/
-h:易于人读取的文件大小格式,1024进制换算;
-F:--classify 文件类型标识(/@*|=)
-r: 按字母顺序倒顺序输出结果
-R:--recursive 递归显示目录及子目录的内容 (Ctrl+C 结束进程)
-S:根据文件大小排序显示
-1:每行显示一个文件
-Z:显示文件的SELinux的安全上下文(Security Context)
Exit Status:
0: if OK,成功执行
1: if minor problems(e.g. cannot access subdirectory)
2: if serious problems(e.g. 目标文件或目录不存在等等)
4.mkdir:
mkdir [opt] DIRECTORY...
-p:在创建目录时,如果父目录不存在则优先创建之;
-v:在执行命令时显示命令的执行过程;
5.rmdir:
只可以删除空目录; 选项同mkdir
6.rm: 移除文件或目录;
rm [opt]... FILE...
选项:
-i:与用户进行交互式删除;
-f:强制删除;
-r,-R:递归删除目录;
7.touch:
change file timestamps 修改时间戳,可以使文件的三个时间一致。
touch [opt]... FILE...
8.stat:
display file or file system status
stat [opt]... FILE...
Access: 访问时间
Modify: 修改时间,文件内容变化时改变
Change: 元数据变化,改变时间变化
选项:
-c FORMAT:以特定的格式显示文件指定属性;
例如:%a,access rights in octal
9.nano:
全屏编辑工具,
^表示Ctrl键;
o:保存
x:退出
……
10.cat:
concatenate(连接) files and print on the standard output
选项:
-E:显示末尾隐藏的行结束“$”符号;
-n:所有行进行行编号;
-b:对于非空行内容进行行编号,即不显示空行的行号;
-s:合并多行空白行为一行;
注意:如没有参数,则通过标准输入进行操作,Ctrl+D退
11.tac:
concatenate and print files in reverse
实际上就是cat的逆序输出;
12.head:
output the first part of files
选项:
-c #[b|k|m|g]:
显示文件的前#多个字符;
b:512Byte;K:1024;
-n, --lines=[-]K
显示文件的前n行内容,也可以简写为-#;
注意:不加选项时默认显示前十行;不足十行全部输出;
13.tail:
output the last part of files
选项几乎和head相同:
-f:实时监测文件末尾变化情况;^+c退出;
★分页显示内容;
14 more:man命令显示的格式 空格翻页,回车进行;
more只能下翻页,不能回翻;
15 less:可以回翻页
★日期时间相关命令:
有两个时钟:
硬件时钟:hwclock,clock。精确到1微秒
系统时钟:date
cal
16.date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
设置方法有很多:
如 date "031211012017.40"
date -s "2017/10/10 10:10:10"
格式:
%F:完整格式的日期;
%T:完整格式的时间;
%Y:年;
%m:月;
%d:日;
%HMS:时分秒;1day 24h 1440m 86400s
%s:时间戳;从1970-1-1 00:00:00到当前系统时间所经过的秒数;
……
17.hwclock:
-s,--hctosys :
Set the System Time from the Hardware Clock.
以硬件时钟为参考设置系统时钟;
-w, --systohc
Set the Hardware Clock to the current System Time.
以系统时钟为参考设置硬件时钟
--set --date "TIME":
将硬件时钟设置为"TIME";
18.cal:显示日历;
NTP服务器:网络时间协议,误差控制在ms;自动同步;
关机命令:
19.halt、poweroff:
20.shutdown:较前面两者更为安全;
shutdown [OPTIONS...] [TIME] [WALL...]
TIME:
绝对时间:12:00;
相对时间:+#,在#分钟之后执行;
+0相当于now
选项:
-h:关闭系统;
-r:重启;(reboot);
-c;Cancel a pending shutdown.
21.注销,退出登录:
exit:注销一个shell
logout:退出一个登录 shell.
22.cp:
拷贝文件和目录:
cp [OPTION]... SOURCE DEST(单源复制)
cp [OPTION]... SOURCE... DIRECTORY(多源复制)
单源复制可以修改文件名;
选项:
-d 复制符号链接文件本身,而非源文件;
-p 在复制文件时,能够保留文件的权限、所有权及时间戳信息;
-r、R:递归的复制目录及目录中的文件;
-a:相当于-dpr的组合;
注意:1.cp命令至少需要两个参数;
2.通常情况下,最后一个参数是此次拷贝行为的目标;
3.如果进行单源复制,目标可以不存在,目标可以为非目录文件;
4.如果进行多源复制,目标必须为多源目录,且过程中无法更改文件名;
23.mv:
mv [OPTION]... SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
-f : 强制覆盖目标位置中的重名文件;
24.which:
shows the full path of (shell) commands.
查看可执行命令的路径
【语法】which COMMAND
【选项】:
-a,--all:显示所有匹配的可执行文件,而不仅仅是第一个。
25.whatis:
search the whatis database for complete words
在 whatis库里查找完整的命令
是一个辅助的命令,辅助man这个帮助命令
26.whereis:
locate the binary, source, and manual page files for a command
查找文件、手册页、命令等的相关位置,
【语法】whereis [options] argument
【选项】
-b:只查找二进制文件位置
-m:只查找手册页部分
-s:只查找源代码部分
27.w who whoami:
w - 显示已经登录的用户及正在进行的操作
who - 显示已经登录的用户
【选项】:
-q, --count显示全部的登录名和登录数
whoami - 显示登录系统的时候的用户名,即使已经切换到其他用户也显示登录时的用户
28.du:报告磁盘空间使用情况
POSIX 选项
-a 显示所有文件的统计,不只是包含子目录
-k 用1024字节作为计数单位
-x 只输出指定参数的实际使用空间,而不包括其下的子目录
GNU 选项
-a, --all
显示对所有文件的统计,而不只是包含子目录
-b, --bytes
输出以字节为单位的大小,替代缺省时1024字节的计数单位。