Linux最简单基础的常用命令,掌握这些命令就可简单使用Linux系统。
网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、重庆小程序开发公司、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了路北免费建站欢迎大家使用!
Linux中的目录即为Windows中常说的文件夹,不同层级之间以 / 分隔,如 /home/cooper/Desktop/working ;而Windows采用 \ 分隔,如 C:\Users\cooper\Desktop\MyScripts 。
Linux中文件扩展名仅起标识作用,而不像Windows系统中是必备的。Linux中常见可编辑文件类型均为文本文件,可使用文本编辑器直接编辑。Windows文件的换行符采用 \r\n ,而Linux文件的换行符采用 \n ,当在Linux中无法执行Windows文件时,可尝试 dos2unix filename 转换文件的换行符。
Linux中以 . 开头命名的文件为隐藏文件,一般为配置文件或配置目录,如 ~/.bashrc 为用户的BASH配置文件, ~/.vim/ 目录存放VIM编辑器的配置文件。如果不清楚这些文件目录的含义,不要擅自修改这些隐藏文件。
绝对路径与相对路径:绝对路径是指从根目录开始的目录路径,而相对路径是指相对于当前目录的目录路径。下述所有关于目录和文件的操作均可使用绝对路径和相对路径。
Linux中文件与目录名建议以小写英文字母开始,中间可使用 _ 、 - 、 . 、穿插大小写字母及数字等方式进行分割标记。
Note :大多数情况下,如果一个目录名为'dirname',那么 dirname 与 dirname/ 均可作为目录名使用。
进入系统后,首先要进入一个目录。Linux中最常用的目录切换命令为 cd ,即change directory的缩写,其常见用法包括:
Note : cd - 只能单独使用
打印当前目录内容的命令为 ls ,即list的缩写,常见用法包括:
进入层级关系复杂的目录后,有时需要确认当前目录是否为想要进入的目录,此时可以通过打印当前目录路径进行确认。 pwd 命令,即print working directory的缩写,其使用直接在命令行键入即可。
cp 命令为拷贝或拷贝重命名,copy的缩写。 mv 命令为移动或移动重命名,move的缩写。这两个命令都支持对目录或文件的操作,常见用法如下:
Note :不论是 cp 还是 mv ,当目标文件名或目标目录名与原文件或原文件名一致时,目标文件或目标目录将会被原文件或目录覆盖。例如:
文件和目录的创建可分别使用 touch 、 mkdir 命令,常用操作如下:
Note :
rm 命令,即remove的缩写,用于删除文件或目录。常用操作如下:
Note :
Tab 键可用于命令、文件名、目录名、变量名等补全,该命令人畜无害,记不清上述名称时按 Tab ,一次不够多按几次即可。如果没有出现想要的内容,检查已键入的命令或名称。
Linux系统中难免要使用VIM编辑器进行文本编辑,最简单的使用方法为:
最简单的VIM编辑器使用就是进入编辑模式编辑,最后进入底线命令模式退出。
显示所有的环境变量,如果你想获取某个变量的详细信息,使用 echo $VARIABLE_NAME .
Example:
whereis使用系统自动构建的数据库来搜索可执行文件,源文件和手册页面。
Example:
它在环境变量PATH指定的目录中搜索可执行文件。此命令将打印可执行文件的完整路径。
Example:
清除窗口上的内容。
列出您的文件。 ls 有很多选项: -l 列出“长格式”的文件,其中包含文件的确切大小,拥有该文件的人员,有权查看该文件,以及何时进行上次修改。 -a 列出所有文件,包括隐藏文件。有关此命令的更多信息,请检查此链接。
Example:
创建或更新您的文件。
Example:
它可以在UNIX或Linux下用于以下目的。
显示文件的第一部分(用空格移动并键入q以退出)。
输出文件的前10行。
输出最后10行文件。用于-f在文件增长时输出附加数据。
将文件从一个位置移动到另一个位置。
filename1 文件的源路径, filename2 是目标路径。
将文件从一个位置复制到另一个位置。
filename1 文件的源路径, filename2 是目标路径。
删除文件。在目录上使用此命令会给您显示一个错误: rm: directory: is a directory 。 为了删除目录,你必须传递 -rf 去递归删除目录中的所有内容。
比较文件,并列出他们的差异。
让您更改文件的读取,写入和执行权限。
压缩文件。
解压缩gzip压缩的文件。
让你查看gzip压缩文件,而不需要gunzip它。
打印文件。
查看打印机队列。
Example:
从打印队列移除某些内容。
awk是处理文本文件最有用的命令。它一行一行地在整个文件上运行。默认情况下,它使用空格分隔字段。awk命令最常用的语法是
让我们采取以下文件 /etc/passwd 。以下是此文件包含的示例数据:
所以现在让我们从这个文件只获取用户名。 -F 指定在我们要基于哪个分隔字段。在我们的例子中 : 。 { print $1 } 意味着打印出第一个匹配字段。
运行上述命令后,您将获得以下输出。
有关如何使用 awk 的更多细节,请查看以下链接。
查找文件内的文本。您可以使用grep搜索与一个或多个正则表达式匹配的文本行,并仅输出匹配的行。
Example:
您还可以通过使用 -i 选项强制grep忽略单词大小写。 -r 可用于搜索指定目录下的所有文件,例如:
-w 只搜索单词。有关 grep 详细信息,请查看以下链接。
告诉你一个文件中有多少行,多少单词和多少字符。
Example:
7459 是行数, 15915 是单词数, 398400 是字符数.
用于过滤和转换文本的流编辑器。
example.txt
用连字符替换所有空格
使用"d"替换所有的数字
排序文本文件的行
example.txt
sort example.txt
随机化一个排序的example.txt
报告或省略重复的行
example.txt
只显示example.txt的唯一行(首先你需要排序,否则看不到重叠)
显示每行的唯一项,并告诉我找到了多少个实例
从每行文件中删除部分。
example.txt
显示第2,7和9栏的空格作为分隔符
显示一行文字
显示 "Hello World"
用字母之间的换行显示 "Hello World"
简单的最佳文本格式化程序
example: example.txt (1 line)
将example.txt的行输出为20个字符的宽度
翻译或删除字符
example.txt
把所有小写字母变成为大写
把所有的空格变成换行符
显示文件的行数
example.txt
带行号显示 example.txt
打印匹配模式的行 - 扩展表达式(别名为:'grep -E')
example.txt
在其中显示“Lorem”或“dolor”的行
打印匹配模式到的行 - FIXED模式匹配(别名为:'grep -F')
example.txt
在example.txt中找到具体的字符串'(Lorem | doloar)'
生成一个新的目录。
执行这个,从一个目录转移到另外一个目录。
将你移动到主目录。此命令接受可选的 dirname ,将你移动到该目录。
告诉你你目前所在的目录。
ssh (SSH client) 是一个用来在登录到远程机器并执行的命令的程序。
此命令还接受 -p 可用于连接到特定端口的选项。
返回当前登录用户名。
允许当前登录的用户更改其密码。
显示您的磁盘配额。
显示当前日期和时间。
显示月份的日历。
显示当前的正常运行时间。
显示谁在线
Displays information about user.
显示内核信息。
显示指定命令的手册。
显示磁盘使用情况。
显示文件名中文件和目录的磁盘使用情况(du -s只给出一个总数)。
列出您最后登录的指定用户。
列出您的进程。
使用您所提供的ID杀死(结束)进程。
用名称杀死所有进程。
显示当前活动的进程。
列出停止的或后台工作的Job; 恢复在后台停止的Job。
前台化最近的Job。
Brings the most recent job in the foreground.
Pings主机并输出结果。
获取域的whois信息。
获取域的DNS信息。
下载文件。
在本地主机和远程主机之间或两台远程主机之间传输文件。
从本地主机复制到远程主机
从远程主机复制到本地主机
此命令还接受 -P 选项可用于连接到特定的端口。
在bash中你将编写第一行脚本文件,被叫做 shebang 。任何脚本中的这一行来确定脚本的执行能力,如独立的可执行文件,而不是在终端中预先键入sh,bash,python,php等。
Example:
上面的一行创建一个变量str并给它赋值“hello world”。通过 $ 放在变量名的开头来检索变量的值。
Example:
像其他语言一样,bash也有数组。数组是包含多个值的变量。数组的大小没有最大限制。bash中的数组为零。第一个元素被索引为元素0.在bash中创建数组有几种方法。以下给出了哪些。
Examples:
要在特定索引处显示值,请使用以下语法:
如果没有提供索引,则假定为数组元素0。要了解数组中有多少值,请使用以下语法:
Bash也支持三元条件。下面是一些例子。
检查一些关于如何操作字符串的语法
Example:
当您运行上述示例时,该hello函数将输出“world!”。上述两个功能 hello 和 say 是相同的。主要区别是功能 say 。此功能打印其接收到的第一个参数。函数内的参数以与给脚本的参数相同的方式进行处理。
bash中的条件语句与其他编程语言相似。条件有许多形式,如最基本的形式是 if 表达式 then 语句,其中语句只有在表达式为真时执行。
有时,如果条件变得混乱,所以你可以使用相同的条件 case statements 。
Expression Examples:
bash 中有三种不同类型的循环。 for , while 和 until .
for 语法:
while 语法:
until 语法:
bash_profile 可以通过运行后面的命令打开。 nano ~/.bash_profile
nano ~/.bashrc
source ~/.bashrc
cd hotellogs
您可以通过传递不同的选项来轻松地调试bash脚本bash。例如-n,不会运行命令并仅检查语法错误。-vecho命令在运行它们之前。-x命令行处理后的echo命令。
Bash,Unix
shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac
OS X v10.4都将它作为默认shell。
Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。和其他Unix
shell
一样,它支持文件名替换(通配符匹配)、管道、here文档、命令替换、变量,以及条件判断和循环遍历的结构控制语句。包括关键字、语法在内的基本特性全部是从sh借鉴过来的。其他特性,例如历史命令,是从csh和ksh借鉴而来。总的来说,Bash虽然是一个满足POSIX规范的shell,但有很多扩展。
Shell 是一种命令行解释器, 其读取用户输入的字符串命令, 解释并且执行命令;它是一种特殊的应用程序, 介于系统调用/库与应用程序之间, 其提供了运行其他程序的的接口;它可以是交互式的, 即读取用户输入的字符串;也可以是非交互式的, 即读取脚本文件并解释执行, 直至文件结束. 无论是在类 UNIX, Linux 系统, 还是 Windows, 有很多不同种类的 Shell: 如类 UNIX, Linux 系统上的 Bash, Zsh 等; Windows 系统上的 cmd, PowerShell 等.
Bash 是 Bourne Again SHell 的缩写, 是 GNU 计划中的 Shell, 也是一些类 UNIX 系统与多数 Linux 发行版的默认 Shell
使用Shell可以实现对Linux系统实现绝大部分的管理,例如:
#获取当前时间
[root@CentOS7 ~]# date
Mon Mar 15 22:59:47 CST 2021
#创建文件
[root@CentOS7 opt]# touch xcz
[root@CentOS7 opt]# ll
-rw-r--r--. 1 root root 0 Mar 15 23:01 xcz
#创建一百个文件,我们一般就会使用shell script进行创建
[root@CentOS7 opt]# cat touch.sh
#!/bin/bash
for n in `seq 100`;do
touch xcz$n
echo "文件xcz$n创建成功哦!"
done
[root@CentOS7 opt]# sh touch.sh
命令行输入方式:效率较低,适用于工作量不大的工作;
shell script 脚本方式:效率高,适用于工作量大且复杂的工作。
[root@CentOS7 opt]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
'#39; = 普通用户
'#' = root用户(超级管理员)
#查看当前用户
[root@CentOS7 ~]# whoami
root
#查看当前命令提示符
[root@CentOS7 ~]# echo $PS1
[u@h W]$
root:当前系统的用户
CentOS7:当前系统的主机名
~:当前所在的位置
#:超级管理员身份(root用户)
$:普通用户
提示符参数及含义
d :代表日期;
H :完整的主机名称
h :仅取主机名中的第一个名字
:显示时间为24小时格式,如:HH:MM:SS
T :显示时间为12小时格式
A :显示时间为24小时格式:HH:MM
u :当前用户的账号名称
v :BASH的版本信息
w :完整的工作目录名称
W :利用basename取得工作目录名称,只显示最后一个目录名
# :下达的第几个命令
$ :提示字符,如果是root用户,提示符为 "#" ,普通用户则为 "#34;
#颜色
30 40 黑色
31 41 红色
32 42 绿色
33 43 黄色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
PS1='[e[32;40m] [[u@h w ]$ [e[0m]'
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@h [e[36;40m]w[e[0m]]$ "
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#提示符的应用
[root@CentOS7 ~]# vi .bashrc
#最后一行下面添加
PS1="[e[37;40m][[e[32;40m]u[e[37;40m]@[e[35;40m]h[e[0m] [e[36;40m]w[e[0m]]$ "
#使用source生效
[root@CentOS7 ~]# source .bashrc
#命令 选项 参数
command [-options] [arguments]
[root@CentOS7 ~]# ls -l /opt/
#命令:整条shell命令的主体
#选项:用于调节命令的具体功能
#以'-'引导段个事选项(单个字符),例如”-l“
#以'--'引导长格式选项(多个字符),例如”--list“
#多个短格式选项可以卸载一起,只用一个”-“引导,例如”-la“
#参数:命令操作与偶的对象,如文件、目录名等
#命令必须开头,选项和参数位置可以发生变化
我们在使用Linux系统进行查找一个多层级的文件时,我们可以使用键盘上的Tab键进行快速补全
补全的形式有:
#如果我们忘记网络配置文件具体路径,那么我们就可以使用补全的形式进行配置
[root@CentOS7 ~]# vi /etc/sysconfig/
anaconda cpupower grub irqbalance modules/ rdisc selinux
authconfig crond init kdump netconsole readonly-root sshd
cbq/ ebtables-config ip6tables-config kernel network rsyslog wpa_supplicant
console/ firewalld iptables-config man-db network-scripts/ run-parts
[root@CentOS7 ~]# vi /etc/sysconfig/network
network network-scripts/
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/if
ifcfg-ens33 ifdown-eth ifdown-post ifdown-Team ifup-aliases ifup-ipv6 ifup-post ifup-Team
ifcfg-lo ifdown-ippp ifdown-ppp ifdown-TeamPort ifup-bnep ifup-isdn ifup-ppp ifup-TeamPort
ifdown ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-plip ifup-routes ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-sit ifup ifup-ippp ifup-plusb ifup-sit ifup-wireless
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-
ifcfg-ens33 ifcfg-lo
[root@CentOS7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
#如果你的Linux系统无法进行补全,那么咱们可以安装一个扩展包即可
[root@CentOS7 ~]# yum install -y bash-completion
clear #或者用快捷键 ctrl + l
ctrl+c #有些程序也可以用q键退出
ctrl+z # 进程会挂起到后台
bg jobid # 让进程在后台继续执行
fg jobid # 让进程回到前台
Ctrl键+a #将当前光标移动到命令行的行首
Ctrl键+e #将当前光标移动到命令行的行尾
Ctrl键+u #将当前光标之前的所有字符剪切
Ctrl键+k #将当前光标之后的所有字符剪切
Ctrl键+w #将当前光标之前的字符剪切,以空格为结尾
Ctrl键+d #退出当前会话窗口
Ctrl键+z #将当前前台运行的程序,放到后台运行
Ctrl键+r #搜索 历史 命令
Ctrl键+y #粘贴剪切板上的内容
Ctrl键+左右方向键 #向指定的方向键移动一组字符,以空格为分隔符
ESC键+. #使用上一条命令的最后的参数或者路径,以空格为分隔符,空格之后的内容,delete键 从前往后删除一个字符
!命令 #执行最近的一次以该命令为开头的命令
!! #执行上一条命令
#使用格式:
[命令] + [--help] 或者[man] + [命令] 即可
#例如touch命令帮助
[root@CentOS7 ~]# touch --help
Usage: touch [OPTION]... FILE...
Update the access and modification times of each FILE to the current time.
A FILE argument that does not exist is created empty, unless -c or -h
is supplied.
A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.
Mandatory arguments to long options are mandatory for short options too.
-a change only the access time
-c, --no-create do not create any files
-d, --date=STRING parse STRING and use it instead of current time
-f (ignored)
-h, --no-dereference affect each symbolic link instead of any referenced
file (useful only on systems that can change the
timestamps of a symlink)
-m change only the modification time
-r, --reference=FILE use this file's times instead of current time
-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time
--time=WORD change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
--help display this help and exit
--version output version information and exit
Note that the -d and -t options accept different time-date formats.
GNU coreutils online help:
For complete documentation, run: info coreutils 'touch invocation'