身为一个程序员会用命令行来进行一些简单的操作,不是显得很装逼嘛!?嘿嘿~ ヾ(>∀<)


cmd 与 bash 基础命令入门

      简介

      CMD 基础命令

            目录操作

                  切换目录

                  列出文件与子目录

                  创建目录

                  删除目录

                  复制目录

                  移动目录

                  重命名目录

                  显示树形目录

            文件操作

                  新建文件

                  删除文件

                  复制文件

                  移动文件

                  重命名文件

                  文件内容比较

                  打印文件

                  查找文件

                  根据内容查找文件

            环境变量

                  设置环境变量

                  使用环境变量

            辅助命令

      BASH 基础命令

            目录操作

                  切换目录

                  列出文件与子目录

                  创建目录

                  删除目录

                  复制目录

                  移动目录

                  重命名目录

                  显示树形目录

            常用目录说明

            文件操作

                  新建文件

                  删除文件

                  复制文件

                  移动文件

                  重命名文件

                  文件内容比较

                  打印文件

                  查找文件

                  根据内容查找文件

                  压缩与解压

                  打包与解包

            vi编辑器初探

            常用快捷键

            环境变量

                  设置环境变量

                  使用环境变量

            其它常用命令

简介

在学习 cmdbash 之前,让我们先了解它们的相关背景,从而更好的认识以及学习它们。

首先,在说 cmd 之前,我们要先说一个操作系统 “DOS(Disk Operating System)”即“磁盘操作系统”。 DOS是基于命令方式来进行工作的,从 1981年到 1995年这15年多的时间内在个人计算机操作系统中,可谓风靡一时,并占据着非常大的市场空间,也衍生了很多其它种类的 DOS系统,但由于其基于命令的工作模式,对于使用者往往有着很高的专业要求,当 window,Macos 等基于图形化界面的操作系统开始普及后,以其简单易用的操作模式, DOS 开始被迅速淘汰,虽然 DOS 已经被淘汰,但也并未完全消失,至今哪怕最新版的“window 10” 在其内部都依然保留着 DOS 。 只是这种被保留的DOS 是以一种独立的应用程序形式存在着,并且在功能上也被进行了精简,而这个应用程序也就是我们要学习的 “cmd”(命令提示符),在 cmd 中,通过执行特定的 DOS 命令,便可以让我们在 window 简单的使用场景中减少对鼠标以及图形化窗口的依赖。

而说到 bash ,则不得不提 shell ,shell是使用C语言编写的一个应用程序,它是用户使用 Unix/Linux 的桥梁,负责把用户的指令传递给内核并且把执行结果回显给用户。 shell 定义了一套自己的“命令集”,这些命令既可以在交互式的场景下等待用户输入命令然后解释执行,也可以在批处理的场景下,用户事先写一个“Shell脚本”(shell Script,通过很多的 shell命令组合成需要的功能)然后让 Shell一次性把这些命令执行完,而不必一条一条地敲命令。

说到这里,让我们重新梳理对 shell 认识的三个重点,首先 shell是一种应用程序,其次 shell中定义了一套 “shell命令集”,最后 shell命令是通过“shell解释器”解释执行,而重点中的重点就在于“shell解释器”,我们知道 shell 的种类有很多,比如 bash、csh、ksh 等等,那么是什么造成了如此多的种类差异呢?其根本原因就在于使用的解释器不同。而解释器的不同,则源于对功能的需要求不同,有的需求场景中需要很轻的解释器,而有的场景则需要更复杂的解释器。通常而言,在 Unix中默认的 shell是 sh,在 linux中默认的 shell是 bashbash 是基于 Bourne shell,并吸收了 C shell和 K shell的一些特性。bash 完全兼容 sh,也就是说,用 sh 写的脚本可以不加修改的在 bash 中执行。如果想知道你当前的 shell是哪一种的?可以在你的控制台执行这条命令 echo $SHELL

不论是 bash 还是 cmd ,我们也通常称它们为“命令行工具”或者是“命令行界面(CLI)”。

最后,为什么我们要学习它们?因为学习它们,(cmd)可以让我们可以在 windows 或者 (bash)linux 等简单使用场景中,脱离对鼠标与用户界面的依赖,从而提高编码效率。

当然!“装逼”也是根本原因嘛~

CMD 基础命令##

目录操作

切换目录####

cd :进入指定的目录或者是显示当前的目录。

cd                      #显示当前的路径
cd dir/sub-dir #进入到dir中的sub-dir目录。
d: # 直接进入d盘

列出文件与子目录####

dir :列出当前目录中的文件以及子目录

dir

dir 除了能默认显示当前目录的文件以及子目录,还可以显示指定目录下的文件以及子目录,同时也会统计目录下的文件以及目录的数量。

dir d:\fornt    #显示D盘font目录中的资源

dir 默认不显示一些特殊属性的文件(例如被隐藏了的文件),如果想显示所有文件,可以使用 /a 参数。

dir /a

如果只是想显示具有特定属性的文件,可以为 /a 参数附加对应的属性。

dir /a [d|r|h|s] #显示具有指定属性的文件
dir /ad #只显示目录
dir /ar #只显示只读文件
dir /ah #只显示隐藏文件
dir /as #只显示系统文件

dir 还有一个 /o 的参数也会比较常用,使用它可以分类显示文件以及目录。

dir /o [n | s | e | d]
dir /on #按名称(字母)显示
dir /os #按大小(从小到大)
dir /oe #按扩展名(字母顺序)
dir /od #按日期/时间(从先到后)

创建目录####

mkdir | md :新建目录

mkdir dir               # 新建一个dir目录
mkdir dir1\dir2\dir3 # 连续新建三个目录。

删除目录####

rmdir | rd :删除指定目录

md dirname
rd dirname
md dir1\dir2\dir3
rd dir1\dir2\

*如果目录中含有其它目录或者是文件,单纯使用 rd 将无法删除,必须要结合一些特殊的参数,例如 /s 强制删除/q 安静模式(不会询问)。

复制目录####

xcopy :将目录复制到指定的位置。

xcopy dir e:dir1 #将dir目录复制到 E盘,并重命名为dir1。

*使用这种方式复制目录,只能将目录以及目录中的文件复制到新的位置,但是并不能将目录中的子目录以及子目录中的所有文件也复制过去。

但可以通过附加一个参数 /e 从而实现将整个目录(所有的子目录以及文件)都复制到新的位置中。

xcopy dir e:dir1 /e

移动目录####

move :将指定的目录移动到新的目录中

move C:\Users\gt\Desktop\test distDir #将指定的目录移动到新的目录中
move dir1 dir2 #将dir1目录移动到dir2目录中

重命名目录####

rename | ren :重命名文件或目录名。

ren dirName newDirName

显示树形目录####

tree : 显示目录的树形图。

tree                          #当前目录的树形图
tree C:\Users\gt\Desktop\ #指定目录的树形图

PS:感觉此命令在我们写项目文档时很有用,使用它可以帮我们生成项目目录的树形结构。

文件操作

新建文件####

notepad : 打开window的记事本程序新建文件。

notepad filename.ext
notepad 1.txt
notepad index.js

*notepad 是调用window中的记事本程序来新建文件。

删除文件####

del :删除指定的文件或者是清空指定目录中的文件。

del filename #删除指定的文件
del file1 file2 .. #删除多个文件
del dir #清空指定目录下的所有文件
del dir1 dir2 dir3 .. #清空多个目录下的文件。

当使用 del 清空指定目录下的所有文件时,默认会有一个询问,如果想忽略询问,只需要加一个参数/q即可。

del dir /q

出此之外,使用 del 还可以删除特定属性的文件

del /AR #可以删除只读文件
del /AH #可以删除隐藏文件
del /AS #可以删除系统文件

最后,del 还可以结合通配符来删除匹配到文件。

复制文件####

copy :复制一个或者是多个文件

copy file.txt file_copy.txt    #在当前目录由file.txt 复制为一个名为file_copy.txt的新文件。
copy C:\Users\Admin\Desktop\index.js index_copy.js #将桌面上的index.js文件复制到当前目录,并命名为index_copy.js
copy file1 dir\file2 #相对目录进行复制。
copy file1+file2 dir\file3 #将当前目录的file1与file2文件复制到dir目录中并合成一个新的file3文件。
copy C:\Users\Admin\Desktop\ #将桌面上的所有文件复制到当前目录。

copy 命令还具有两个不是太常用的参数:

copy file /A #复制一个ASCII文件。
copy file /B #复制一个二进制文件。

copy 命令只能复制指定目录中的文件,而不能复制指定目录中的子目录和文件。

如果想复制目标目录下的所有文件和文件夹,可以使用 xcopy 命令,它相当于 copy 命令的扩展版。

移动文件####

move :将指定的文件移动到新的位置。

move file.txt dir/file.txt    #将指定的文件移动到指定的目录中。
move file.txt dir/newfile.txt #移动的同时,重新命名。

重命名文件####

ren :重命名文件

ren oldfilename newfilename

文件内容比较####

fc :在指定的文件集中比较文件的内容

fc file1 file2 file3

打印文件####

type :在命令行工具中打印文件内容。

type file      #打印文件file的内容。
type dir\file #打印指定目录中file文件的内容。

type 命令还可以结合通配符一起使用,打印多个文件的内容。

type dir\*     #打印指定目录dir中所有文件的内容。

查找文件####

我们知道 dir 是用于列出指定目录中所有的文件或子目录,实际上 dir 后面还可以跟上文件名目录名或者是通配符来设置只列出匹配到的文件以及目录。

dir index.js    #列出该目录下的index.js
dir *.js #列出该目录下扩展名为js的所有文件。
dir * #列出所有文件

与查找文件相同,dir 也可以查找指定的目录

dir dirname

根据内容查找文件####

find :根据文件内容查找文件,不确定文件名称或者是扩展名时可结合通配符使用。

find "function handle" index.js #确定文件查找
find "function handle" *.js #根据文件名模糊查找
find "function handle" ?.js #查找文件名只有一个字符的js文件。
find "function handle" /* #查找所有文件

find 命令还具有一些其它有用的参数:/i 忽略大小写 , /v 只显示匹配到的文件,/n 显示行号。

环境变量###

注意,如果想在window中设置永久的环境变量,只能通过 “我的电脑” - “属性” - “高级” - “环境变量”。

使用命令行来设置环境变量只对当前窗口有效,窗口关闭时,将会自动失效。

设置环境变量####

set : 通过set命令我们即可以查看指定的环境变量,也可以设置一个新的环境变量。

set               #查看当前的所有环境变量
set PATH #查看环境变量PATH的值。
set key = value #设置一个新的环境变量并赋值。
set key = value2 #重新对指定的环境变量赋值。

*path这个环境变量是用于设置可执行文件(程序)的搜索路径,是非常常用的一个环境变量。

使用环境变量####

在CMD中,如果想引用某个环境变量,则使用 %env% 的格式。

echo %PATH%

set name=usrname
echo %name%

下面我们通过一个非常小的例子来理解通过命令设置环境变量 PATH 值的作用。

假设我们有一个可执行的程序,名字叫做 main.exe 保存在 D:\install\main目录中。 一般,我们想执行某个程序的方法有两种:

  • 为可执行文件建立快捷方式到桌面
  • 进入目录,双击执行可执行程序

而上面的方法,不论哪一种,都无法解决在命令行窗口中,输入 main 便可以执行 main.exe的需求。

然而通过设置环境变量 PATH 的值便可以做到这一点。

set main_exc=D:\install\main
set PATH=%PATH%;%main_exc%
main #执行main

其实设置环境变量PATH的值,可以直接使用 path命令,而无需通过 set 来声明要修改的环境变量。

path %PATH%;%main_exc%

另外,在环境变量 PATH 中如果设置多个值,每个值之间使用 ; 分号隔开。

辅助命令###

cls        #清除屏幕。
cmd #进入MS-DOS
echo #显示消息,或将命令回显打开或关闭。
exit #退出 CMD.EXE 程序(命令解释程序)。
start #启动单独的窗口以运行指定的程序或命令。
calc #启动计算器
explorer #打开资源管理器
notepad #打开记事本
dxdiag #检查DirectX信息
regedt32 #注册表编辑器
Msconfig #系统配置实用程序
taskmgr #打开任务管理器
help #查看MS-DOS命令帮助。
command /? #查看指定命令详细帮助文档。
wmic #进入wmic(Windows Management Instrumentation),它是windows管理工具命令行版,使用wmic我们可以对整个系统进行管理,例如远程连接、硬件管理、进程管理、账号管理、服务管理、目录管理、共享管理等等,可说它是一个增强版的CMD。

BASH 基础命令##

bash 有些命令与 cmd中非常相像,比如 cd,再比如 mkdir等。因此学会了 cmd 对于学习 bash 也非常有帮助。

关于bashcmd的区别,我个人认为最大的不同有两点,一是目录路径的表示上, bash使用我们常见的斜杠 cd dir1/dir2/dir3,而 cmd则使用反斜杠 cd dir1\dir2\dir3,虽然 cmd 也可以使用斜杠,但是在某些情况下使用斜杠将会行不通,例如 copy 命令,所以我们建议对 cmd 保持统一的目录风格,即“反斜杠”。最后一点则在于命令的附加参数,cmd中是通过斜杠来附加参数 /paramsbash则是通过横杠 -params

目录操作###

切换目录####

cd :进入指定的目录。

cd   #进入个人目录
cd / #进入根目录
cd - #返回上次的目录

如果不确定自己当前的目录位置,可以结合 pwd 命令,便会在命令行中打印出当前目录路径。

pwd

列出文件与子目录####

ls :列出当前目录中的文件以及子目录

ls

ls 除了能默认显示当前目录的资源以及子目录,还可以显示指定目录下的文件以及子目录

ls ../   #列出上级目录下的资源和子目录
ls / #列出根目录下的资源和子目录。
ls /home #列出home目录下的资源和子目录。

ls 默认不显示具有特殊属性的文件(例如被隐藏了的文件),如果想显示所有文件,可以使用 -a 参数

ls -a

如果要查看资源或目录更详细的信息,可以附加 -l属性

ls -l

创建目录####

mkdir :创建目录。

mkdir dir                 #创建一个目录dir
mkdir dir1 dir2 dir3.. #同时创建多个同级目录

如果想创建一个目录树,可以附加一个 -p 参数。

mkdir -p a/b/c/d

删除目录####

rmdir :删除空目录

rm -rf :强制删除目录(包括非空目录)。

rmdir emptyDir #删除一个空目录

如果想删除一个非空目录,则需要使用 rm 命令,并使用 -rf 参数。

rm -rf dir                  #删除一个非空目录。
rm -rf dir1 dir2 dir3 #同时删除多个非空目录。
rm -rf pattern #删除按照特定模式匹配到的目录。

复制目录####

cp -a :复制目录到指定的位置。

cp -a dir ../dir  #将当期目录复制一份到上级目录中。
cp -a dir dir2 #复制目录并重命名。

移动目录####

mv :移动目录到指定位置。

mv file file2                         #同级移动,相当于重命名目录file为file2
mv file ../file2 #将目录移动到上级目录中并重命名。
sudo mv /home/user/file /home/ #将指定位置的目录移动到指定位置中。

另外,mv 也可以结合通配符进行使用。

mv * ../   #将所有的目录与文件都复制到上级目录中。

重命名目录####

利用 mv 命令同级移动功能,并结合重命名的特点,就可以做到目录的重命名。

mv file newfile2                         #同级移动,相当于重命名目录file为newfile2

显示树形目录####

tree :显示目录的树形图。

tree       #当前目录的树形图
tree / #根目录下的树形图

PS:感觉此命令在我们写项目文档时很有用,使用它可以帮我们生成项目目录的树形图。

常用目录说明####

/     #根目录
/bin #命令保存目录
/boot #启动目录
/dev #设备文件命令
/etc #配置文件保存目录
/home #家目录
/lib #系统库保存命令
/mnt #系统挂载目录

文件操作###

新建文件####

touch :新建文件

touch filename             #新建一个文件。
touch file1 file2 file3... #同时新建多个文件。
touch dir/file #在指定的位置中新建一个文件。

如果终端已经附加了 vi 编辑器,也可以使用 vi filename 的形式来创建文件,与 cmd 中的 notepad 命令功能类似。

删除文件####

rm :删除文件。

rm file      #删除文件
rm dir/file #删除指定目录中的文件
rm dir/* #删除指定目录中的所有文件。

复制文件####

cp :复制文件到指定的位置

cp file file1    #将文件复制一份并重新命名。
cp file ../ #将文件复制一份到上级目录中。
sudo cp file / #将文件复制到根目录中。

cp 还可以结合通配符一起使用,将匹配到的文件复制到指定的位置中。

cp dir/*  ./  #指定目录中的所有文件复制到当前目录中。

移动文件####

mv :移动文件到指定的位置

mv file ../       #将文件移动到上级目录中。
mv ../file ./ #将上级的文件移动到当前目录中。
sudo mv file / #将文件移动到根目录中。

mv 不仅可以移动文件,还可以在移动后重命名文件。

mv filename1 ../filename2

mv还可以结合通配符使用。

mv na?.txt ../nbc.txt

重命名文件####

利用 mv 命令同级移动的功能再结合其可以重命名的特点,从而实现文件的重命名。

mv file file2                         #同级移动,相当于重命名文件file为file2

文件内容比较####

diff :比较多个文件内容的不同

diff file1 file2 ...

打印文件####

cat :在命令行工具中打印文件的内容

cat filename    #打印指定文件的内容
cat file1 file2 #同时打印多个文件的内容

cat 命令除了能打印文件的内容,还可以合并多个文件的内容保存到一个新的文件中。

cat file1 file2 > newfile

除此之外,还可以结合通配符来打印匹配到的所有文件内容。

cat a*
cat *.txt

如果查看的文件内容很多,还可以使用 less 命令

less file

然后使用 space 便可以向下一页一页的翻动,或者 pgup 向上翻页 , pgdn 向下翻页,q 则可以退出 less命令。

查找文件####

find :可以根绝名称、大小、修改时间来查找指定的文件。

find -name httpd.conf #在当前目录下查找httpd.conf文件。
find -name *.js #在当前目录下查找所有js文件。
find -empty #查找所有为空的目录。
find -size -1000 #查找小于1000KB的文件。
find -size +1000 #查找大于1000KB的文件。

find命令默认在当前目录进行查找,你也可以指定一个目录进行查找。

find / -name *.txt          #在根目录下查找所有的txt文件。
find /etc -name httpd.conf #在etc目录下查找httpd.conf文件。

与根据文件名查找文件相同,也可以使用 find 按照目录名来查找目录。

find -name dirname

根据内容查找文件####

grep :可以根据指定的内容来查找含有这些内容的文件。

grep pattern *  #查找当前目录含有指定匹配模式的文件。pattren可以是一个正则表达式。
grep c * #查找当前目录含有单词c的文件。

如果想忽略内容的大小写可以附加一个 -i的参数。

显示匹配行及行号附加 -n

如果只显示文件名,不显示具体匹配到的内容,则附加 -l 参数

压缩与解压####

gzip :单独压缩指定的文件,压缩后删除被压缩文件,只保留压缩后的文件,并且不能压缩目录。

gzip file                   #压缩指定的文件
gzip file1 file2 file3... #同时压缩多个文件

gzip 还可以与通配符结合使用,压缩匹配到的文件。

gzip *.*
gzip ?.?.*

若想列出某个 .gz 压缩文件中的内容,可以附加一个 -l 参数。

gzip -l file.gz

解压某个.gz 文件,则使用 gunzip 命令。

gunzip file.gz

zip :与 gzip 相比 zip 可以压缩目录还可以将多个文件压缩在一起,并保留被压缩的文件。

zip filename.zip file1 file2 ...   #将指定的文件压缩到一个新创建的压缩文件中。

zip 也可以结合通配符使用,压缩匹配到的文件。

zip filename.zip *.txt

更强的是 zip 还可以一次性压缩一个目录

zip filename.zip dir

同样的,若想列出某个 .zip 压缩文件中的内容,可以附加一个 -l 参数。

unzip -l filename.zip

解压某个.zip 文件,则使用 unzip 命令。

unzip file.zip

打包与解包###

tar :它是linux下的一个打包命令,它可以将一大堆松散的文件或者是目录打包在一起,从而保证资源的完整性。

tar -cvf package.tar file1 file2 file3 ...

如果要打包一个目录,则指定目录名:

tar -cvf package.tar dirname

如果想解包,则附加 -xvf 的参数即可。

tar -xvf package.tar

如果只是想列出某个包中含有的文件或目录,则附加 -tvf 参数即可。

tar tvf package.tar

tar 命令只能打包,而不能压缩,而 gzip 虽然可以压缩但是只能对文件进行单独压缩,并且只保留压缩后的文件,而不保留被压缩的文件,所以将 tar + gzip 结合使用,将会互补其短,产生更大的功效。

tar package.tar file1 file2 file3 ... #将多个文件打包在package.tar包文件中。
gzip package.tar.gz package.tar #将通过tar打包的文件再进行压缩。

解压缩解包也要依次进行。

gunzip package.tar.gz #解压缩
tar -xvf package.tar #解包

当然,你也可以通过附加参数的方式一次性的打包压缩。

tar -zcvf package.tar.gz

然后一次性的解压缩解包

tar -zxvf package.tar.gz

vi编辑器初探

vi 是 Unix及 Linux系统下标准的文本编辑器,由美国加州大学伯克利分校的 Bill Joy所创立。

我们可以在支持 vi 编辑器的命令行工具中,直接调用“vi编辑器”来编辑文件。

vi 有三种模式,分别是“命令模式(Comand Mode)”、“插入模式(Inset Mode)””、“底行模式(last line mode)”。默认的模式则是“命令模式”。

在“命令模式”下我们可以移动光标,删除字符,单词,行,复制字符,单词,行等。通过按字母 a 便可以进入到“插入模式”,而通过 shift+;组合键(目的是输入冒号:)则进入到“底行模式”。

在“插入模式”下才可以编辑文字,按 esc 键则可以返回“命令模式”。

在“底行模式”则可以执行一些命令动作,例如保存文件,设置编辑器环境,查找字符等等。

命令模式(Command Mode)

  • i、a、o 进入到“插入模式”。i会在光标的当前位置输入,a 则会在光标所在的下一个位置输入,o会插入新的一行,并从行首开始输入文字。
  • shift+; 进入到“底行模式”
按键 功能
[num] | h 向左移动一个字符,如果结合数字键,则向左移动指定数量的字符
[num] | l 向右移动一个字符,如果结合数字键,则向右移动指定数量的字符
[num] | j 向上移动一行,如果结合数字键,则向上移动指定数量的行
[num] | k 向下移动一行,如果结合数字键,则向下移动指定数量的行
[num] | x 向后删除当前光标所在的字符,类似于DEL键,结合数字键则向后删除指定数量的字符
[num] | X 向前删除当前光标所在的字符,类似于BackSpace键,结合数字键则向前删除指定数量的字符
0 移动到行首
$ 移动到行尾
dd 删除光标所在行
yy 复制当前行
J 合并行
p 将已复制的数据在光标下一行贴上
P 将已复制的数据在光标上一行贴上
yyp 复制光标所在的行再插入到下一行
H 光标移至屏幕顶行
L 光标移至屏幕最后行
num + G 跳转到指定的行
[ctrl] + f 屏幕『向下』移动一页,相当于 [Page Down]按键
[ctrl] + b 屏幕『向上』移动一页,相当于 [Page Up] 按键
r[w] 将当前光标所在的字符替换为指定的字符
~ 该表当前光标所在字符的大小写转换
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可!
?word 向光标之上寻找一个字符串名称为 word 的字符串。
n 根据搜索结果继续向下查询
N 根据搜索结果继续向上查询

插入模式(Inset Mode)

  • esc 进入到“命令模式”

该模式下用于输入以及编辑内容。

底行模式(Last Line Mode)

  • esc 进入到“命令模式”

底行模式又可以称之为“指令模式”,在这个模式下,可以通过输入制定来让“vi编辑器”完成特定的功能。

命令 功能
:w 保存文件
:q 退出vi编辑器
:wq 退出并保存
:q! 退出vi编辑器,并不保存内容
:set nu 显示行号
:set nonu 隐藏行号

常用快捷键###

ctr+c  #终止当前命令
ctr+l ##清屏 相当于 clear
ctr+a #光标移到行首
ctr+e #光标移到行尾
ctr+u #把光标所在位置删除到行首
ctr+d #删除光标前面的字符,一旦内容全部删除再按则会退出窗口。
ctr+h #删除光标后面的字符,

环境变量###

window 相同 linux 中通过命令行修改或者是创建的环境变量只对当前的命令窗口有效,关闭窗口则会消失。

如果想在 linux 设置永久的环境变量,如果是系统级的环境变量请使用“vi编辑器”编辑 /etc/profile 文件,如果是用户级别的环境变量,则进入到对应的用户目录修改 .profile 文件。

设置环境变量####

linuxset命令可以查看系统级以及用户级的所有环境变量,使用 env则查看当前用户的环境变量。

set #查看所有环境变量
env #查看与当前用户有关的环境变量

如果想设置一个环境变量,则使用 export 命令

export key=value

同样的,如果想修改某个环境变量的值,再次执行上面的命令即可。

使用环境变量####

linux中引用一个环境变量,则为环境变量附加 $符,其形式如:$env

$PATH   #引用环境变量PATH。

环境变量如果存在多个值,则通过使用 : 冒号进行分割。

export app=/home/app
export PATH=$PATH:%app

其它常用命令###

clear   #清除屏幕。
echo #显示消息,或将命令回显打开或关闭。
whoami #返回当前登录用户名。
passwd #允许当前登录的用户更改其密码。
file #尝试判断指定文件的类型。
exit #退出命令行工具
users #显示当前登录系统地用户
last #查看用户的登录日志
cammand --help #查看相关命令的帮助文档。
ping #查看网络状态

如果觉得本文对您有帮助或者您心情好~可以支付宝(左)或微信(右)支持一下,就当给作者赞助杯咖啡钱了 ~~:

cmd 与 bash 基础命令入门的更多相关文章

  1. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  2. bash 基础命令

    bash的基础特性(): () 命令历史 history 环境变量: HISTSIZE:命令历史记录的条数: HISTFILE:~/.bash_history: HISTFILESIZE:命令历史文件 ...

  3. GITHUB中GIT BASH基础命令行

    PS:转自https://www.cnblogs.com/WangXinPeng/p/8016293.html 1.常用命令行工具: ①cmd     ②powershell      ③git ba ...

  4. 信号与系统实验序章0——MATLAB基础命令入门

    本次开启新的系列,关于用Matlab实现常见信号和函数的生成和变换. 同时如果没有MATLAB基础,那么可以跟着本文一步一步学习Matlab的相关操作,本文旨在记录在信号与系统课程中MATLAB的学习 ...

  5. linux常用命令大全(linux基础命令入门到精通+命令备忘录+面试复习+实例)

    作者:蓝藻(罗蓝国度) 创建时间:2018.7.3 编辑时间:2019.4.29 前言 本文特点 授之以渔:了解命令学习方法.用途:不再死记硬背,拒绝漫无目的: 准确无误:所有命令执行通过(环境为ce ...

  6. linux基础命令入门

    1.使用mkdir 创建目录mkdir $HOME/testFolder 2.使用cd命令切换目录cd $HOME/testFolder 3.使用 cd ../ 命令切换到上一级目录cd ../ 4. ...

  7. Bash基础——命令替换

    参考:Linux 下Shell 脚本几种基本命令替换区别 Command substitution 命令替换Command substitution https://www.jb51.net/arti ...

  8. mysql 基础命令入门学习

    登陆到mysql mysql -u 用户名 -p [数据库]   显示数据库 show databases;   使用一个数据库 use 数据库名;   显示表 show tables;   纠正数据 ...

  9. git bash【初级入门篇】

    最近公司打算使用git代替之前的svn版本控制工具,趁此机会打算好好学学git,这个号称当今世界最牛的分布式版本控制工具. 一.[git和svn的主要区别] 1.去中心化 svn以及微软的TFS均采用 ...

随机推荐

  1. RAID 详解

    一.什么是RAID 磁盘阵列全名是『Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列. RAID 可以透过一个技术(软件或 ...

  2. 从XMLHttpRequest请求响应里getResponseHeader(header)报错:Refused to get unsafe header "**" 问题解决

    问题产生原因: 原因1:W3C的 xhr 标准中做了限制,规定客户端无法获取 response 中的 Set-Cookie.Set-Cookie2这2个字段,无论是同域还是跨域请求: 原因2:W3C ...

  3. 分布式监控系统--zabbix

    1Zabbix简介 Zabbix 是一个企业级的分布式开源监控方案. 2.监控系统架构 C/S架构 客户端/服务器端,这种架构适合规模较小,处于同一地域的环境 C/P/S 客户端/代理端/服务器端/, ...

  4. 关于Set对象(ES6)

    今天初次接触ES6,发现确实挺神奇的,许多用以前方法去实现需要一大串代码的,用ES6竟然几句就搞定了. 这里我要说的是Set对象.Set对象是ES6中新增的类型,可以自动排除重复项,生成Set对象后, ...

  5. 内核知识第12讲,SSDT表.以用户模式到系统模式的两种方式.

    内核知识第12讲,SSDT表.以用户模式到系统模式的两种方式. 一丶IDT解析. 我们知道.IDT表中存放着各种中断信息.比如当我们调用int 3的时候,则会调用IDT表中的第三项来进行调用. 而函数 ...

  6. 分享给有需要的你,精选了10套web开发免费视频教程~~

    在这里给大家精选百度传课里的一些比较好的视频教程,比较适合新手们,有需要的可以收藏着学习!!  蓝鸥微信小程序全方位深度解析 链接:http://www.chuanke.com/v4702151-19 ...

  7. 从#65279字符看dede模板页面编码问题

    今天一位朋友让帮忙给解决一个dede模板的问题,问题主要是:模板文件生成html文件之后会在body开头处加入一个可见的控制符&#65279,导致页面头部会出现一个空白行. 接到"& ...

  8. python_冒泡算法

    什么是冒泡算法? -- 像鱼吐泡泡一样,每次都是向上冒出一个水泡 如何逻辑整理? -- 先拿第一个值和剩下的值,一一比较,必能找到最大的或者最小的 -- 比较过程中,第一个值小于剩下的某个值,交换位置 ...

  9. junit源码解析--初始化阶段

    OK,我们接着上篇整理.上篇博客中已经列出的junit的几个核心的类,这里我们开始整理junit完整的生命周期. JUnit 的完整生命周期分为 3 个阶段:初始化阶段.运行阶段和结果捕捉阶段. 这篇 ...

  10. Servlet和web服务器关系

    前面的博客我详细的罗列了下Servlet的常用的类和接口,然后在前面的前面我类似tomcat模拟了一套web服务器,这里来做一个统一的整理,这样子可以更好的把握Servlet,也可以更好的了解下web ...