系统相关命令
login登录logout注销
poweroff普通关机halt立刻关机
reboot普通重启shutdown -r now立刻重启shutdown -r 10过10分钟自动重启shutdown -r 20:35在时间为20:35时候重启
shutdown -h now关闭系统(root用户使用)shutdown -h 1010分钟后关闭系统shutdown -c取消按预定时间关闭系统init 0关闭系统telinit 0关闭系统
CentOS查看系统版本
$ cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)$ uname -aLinux DESKTOP-VEB85IN 4.4.0-18362-Microsoft #476-Microsoft Fri Nov 01 16:53:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux$ cat /etc/issue #这个centos7以上看不了$ cat /proc/versionLinux version 4.4.0-18362-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) 476-Microsoft Fri Nov 01 16:53:00 PST 2019
#查看版本位数是64位还是32位
getconf LONG_BIT
getconf WORD_BIT
Ubuntu查看系统版本
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.4 LTS
Release: 18.04
Codename: bionic
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
$ cat /etc/issue
Ubuntu 18.04.4 LTS \n \l
Ubuntu查看系统信息及桌面环境:
$ sudo apt install neofetch
$ neofetch
.-/+oossssoo+/-. root@DESKTOP-VEB85IN
`:+ssssssssssssssssss+:` --------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 18.04.4 LTS on Windows 10 x86_64
.ossssssssssssssssssdMMMNysssso. Kernel: 4.4.0-18362-Microsoft
/ssssssssssshdmmNNmmyNMMMMhssssss/ Uptime: 19 hours, 59 mins
+ssssssssshmydMMMMMMMNddddyssssssss+ Packages: 1846
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Shell: zsh 5.4.2
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Terminal: /dev/tty1
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ CPU: Intel i7-8700 (12) @ 3.192GHz
ossyNMMMNyMMhsssssssssssssshmmmhssssssso Memory: 10405MiB / 16246MiB
ossyNMMMNyMMhsssssssssssssshmmmhssssssso
+sssshhhyNMMNyssssssssssssyNMMMysssssss+
.ssssssssdMMMNhsssssssssshNMMMdssssssss.
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
帮助相关命令
help [command]查看某个命令的帮助man [command]查看某个命令的详细文档man -f [command]查看某个命令的参考资料,同 whatisman -k man查看所有命令的参考资料man 1 cd在第一章节查看cd命令的资料whatis [command]查看某个命令的参考资料info [command]查看某个命令的信息[command] --help或[command] -h
man命令中常用按键以及用途:
| 按键 | 用处 |
|---|---|
| 空格键 | 向下翻一页 |
| PaGe down | 向下翻一页 |
| PaGe up | 向上翻一页 |
| home | 直接前往首页 |
| end | 直接前往尾页 |
| / | 从上至下搜索某个关键词,如“/linux” |
| ? | 从下至上搜索某个关键词,如“?linux” |
| n | 定位到下一个搜索到的关键词 |
| N | 定位到上一个搜索到的关键词 |
| q | 退出帮助文档 |
man命令帮助信息的结构以及意义:
| 结构名称 | 代表意义 |
|---|---|
| NAME | 命令的名称 |
| SYNOPSIS | 参数的大致使用方法 |
| DESCRIPTION | 介绍说明 |
| EXAMPLES | 演示(附带简单说明) |
| OVERVIEW | 概述 |
| DEFAULTS | 默认的功能 |
| OPTIONS | 具体的可用选项(带介绍) |
| ENVIRONMENT | 环境变量 |
| FILES | 用到的文件 |
| SEE ALSO | 相关的资料 |
| HISTORY | 维护历史与联系方式 |
目录及文件操作
目录标识
/代表根目录~表示为 home directory (root用户为/root,普通用户为/home/username).则是表示目前所在的目录..则表示目前目录位置的上一层目录
切换目录
cd dir改变目录
列出目录/文件
ls列出当前目录文件及子目录ls -l显示文件和目录的详细资料,简写llls -a显示当前目录下包括影藏文件在内的所有文件列表ls -lSr以尺寸大小排列文件和目录ls -ltr按修改时间列出文件和文件夹详细信息ls -li显示文件的 inode 信息
创建目录
mkdir dir1 dir2同时创建两个目录mkdir -p path/to/dir递归创建一个目录树mkdir -m 700 dir创建目录并指定目录权限mkdir -p -m 750 path/to/dir递归创建目录并指定目录权限rmdir -p path/to/dir递归删除空目录
创建文件
touch file创建文件touch -t 0712250000 file修改一个文件或目录的时间戳 - (YYMMDDhhmm)
删除目录/文件
rm file1 file2删除一个文件rm -rf dir删除一个目录并同时删除其内容,不经确认
拷贝/移动/重命名
cp origin path/to/target复制一个文件cp dir/* .复制一个目录下的所有文件到当前工作目录cp -r origin target复制一个目录及其所有文件mv origin target移动/重命名文件
:::info 所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。 :::
在 Linux 下使用 cp 命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结了一个方法:
# 没有提示按Y、传递了目录属性、没有略过目录。
\cp -r -a aaa/* /bbb
# 另一种解决方案
echo y | cp ./a/* ./b
:::danger 如果把一个文件复制到一个目标文件中,而目标文件已经存在,覆盖文件的时候会有提示,如果选择 Y,那么,该目标文件的内容将被破坏。 :::
文件查看及编辑
cat
:::warning
当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。
因此,一般用more等命令分屏显示。
为了控制滚屏,可以按 Ctrl+S 键,停止滚屏;按 Ctrl+Q 键可以恢复滚屏。按 Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。
:::
cat file1 file2在屏幕上显示文件的内容cat file1 file2 > file将文件 file1 和 file2 合并后放入文件 file 中cat file | more分屏显示 file 文件的内容cat -n file显示 file 内容并显示行号nl file类似于cat -n,显示时输出行号
tac: 文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写
nl
more 和 less
- more命令 是一个基于 vi 编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。
- less命令 的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。用 less 命令显示文件时,用 PageUp 键向上翻页,用 PageDown 键向下翻页。要退出 less 程序,应按 Q 键。
more file # 类似于 `cat file | more`,分屏显示文件的内容
more -dc file # 显示文件 file 的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比
more -c -10 file # 显示文件file的内容,每10行显示一次,而且在显示之前先清屏
head 和 tail
- head命令 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
- tail命令 用于输入文件中的尾部内容。tail 命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
:::info
如果表示字节或行数的N值之前有一个 “+” 号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。
N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。
:::
head file # 只显示头10行
head -1 file # 显示头一行
tail file # 只显示最后10行
tail -1 file # 显示最后一行
tail +20 file # 显示文件file的内容,从第20行至文件末尾
tail -c 10 file # 显示文件file的最后10个字符
输出目录树/文件树
# 输出目录树
find . -type d -print 2>/dev/null | awk '!/\.$/ {for (i=1; i<NF; i++){printf("%4s","|")} print("--"$NF)}' FS='/';
# 输出文件树
find . -print 2>/dev/null | awk '!/\.$/ {for (i=1; i<NF; i++){printf("%4s","|")} print("--"$NF)}' FS='/';
日期时间
date显示系统日期date 041217002007.00设置日期和时间 - 月日时分年.秒date -s "20170901 8:30:00"设置时间 - 年月日 时分秒date "+%Y-%m-%d %H:%M:%S"以特定格式输出系统时间
date命令中的参数以及作用
| 参数 | 作用 |
|---|---|
| %t | 跳格[Tab键] |
| %Y | 年 |
| %m | 月(01~12) |
| %d | 日(01~31) |
| %H | 时(00~23) |
| %I | 时(00~12) |
| %M | 分(00~59) |
| %S | 秒(00~59) |
| %j | 今年中的第几天 |
cal显示本月日历cal 2008显示2008年的日历表clock -w将时间修改保存到 BIOS
其他命令
clear清屏echo在终端输出whoami显示当前登录的用户名
pwd显示工作路径tree显示文件和目录由根目录开始的树形结构
stat file用于显示文件的状态信息。stat命令的输出信息比 ls 命令的输出信息要更详细。file file用来探测给定文件的 mime type 类型
du -sh dir1估算目录 ‘dir1’ 已经使用的磁盘空间’du -sk * | sort -rn以容量大小为依据依次显示文件和目录的大小
