导航:首页 > 程序命令 > linux命令解释器

linux命令解释器

发布时间:2022-04-25 15:17:50

‘壹’ linux的shell命令解释器到底要做什么

shell是一个命令解释器。是计算机用户和计算机操作系统内核之间的翻译。计算机用户在操作计算机是输入的指令都是以人类语言来表示的。而计算机在内部进行信息处理是使用的都是二进制。所以shell会将用户的输入转换成计算机能够识别的信息。计算机处理完成后再有shell转换成人能够识别的信息输出。

‘贰’ Linux里面env bash命令作用是什么

env最常用的功能是查询环境变量,直接输入env即可,例如:

bash是Linux下的命令解释器,目前CentOS,ubuntu,rhce默认都使用bash作为解释器。

‘叁’ windows系统的命令解释器是cmd.exe那linux的命令解释器是什么

linux的命令解释器叫shell,但linux又有多种不同的shell,常见的有Bourne shell(简称sh),C shell(简称csh),Korn shell(简称ksh)和Bourne Again shell(简称bash)。
ubuntu默认的shell是bash。
而且还有几种不同的终端,但命令和脚本还是由shell来解释和执行的。终端与shell没有对应关系

‘肆’ linux shell:这里的%% * 是什么意思

${LINE%% *}的意思就是从LINE这个变量的值中,从后面开始以最长匹配删去%%后面的表达式内容。

从用户的shell看,wc -l的结果是行数+空格+文件名,用户的匹配项是'空格*',那么从后面开始的最长匹配就是行数后面的所有内容,也就是说,这个表达式最终的结果是产生命令行参数所带文件的行数。

看一下man bash可以找到详细说明,查找Parameter Expansion这段会看到:

${parameter%word}

${parameter%%word}

都是从parameter的最后开始删除word所匹配的内容,%是最短匹配,%%是最长匹配。

(4)linux命令解释器扩展阅读:

实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。

shell中的变量

1、常用系统变量

$ # :保存程序命令行参数的数目

$ ?:保存前一个命令的返回码

$ 0 :保存程序名

$ * :以("$1 $2...")的形式保存所有输入的命令行参数

$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数

2、定义变量

shell语言是非类型的解释型语言,不象用C++/JAVA语言编程时需要事先声明变量.给一个变量赋值,实际上就是定义了变量.

在linux支持的所有shell中,都可以用赋值符号(=)为变量赋值.

如:

abc=9 (bash/pdksh不能在等号两侧留下空格)

set abc = 9 (tcsh/csh)

由于shell程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放整数.

如:

name=abc (bash/pdksh)

set name = abc (tcsh)

在变量赋值之后,只需在变量前面加一个$去引用.如:

echo $name

‘伍’ linux 命令中的sh是什么意思

1、sh是linux中运行shell的命令,是shell的解释器,shell脚本是linux中壳层与命令行界面,用户可以在shell脚本输入命令来执行各种各样的任务。

要运行shell脚本,首选需要给shell脚本权限,这里里以hello.sh文件为例,首先需要按下“crtl+shift+T”打开终端窗口:

‘陆’ 在Linux环境下模拟实现简单命令解释器

用别名来实现就行了,格式:ailas 你喜欢的别名="Linux 命令+参数"

如实现dir:alias dir="ls -la"
实现:alias ="cp"
实现del: alias del="rm -rf"
等等。

‘柒’ linux操作系统中的命令解释器有什么特点

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<time.h>//显示当前时间函数用到的头文件
#include<sys/stat.h>//创建目录函数用到的头文件,fn函数中参数
#include<sys/types.h>//创建目录函数用到的头文件
#include<unistd.h>//cd使用系统调用chdir函数,用到的头文件
#include<dirent.h>//dir函数用到的头文件
#include<ftw.h>//find中ftw系统函数用到的头文件

usingnamespacestd;


voidDisplay();//主页面显示
DIR*exist_directory();//判断目录是否存在

intmain()
{
string_exit;//while循环出口判断字符
Display();

while(_exit!="exit")
{
cout<<"33[01;33mHuangWenwei@33[0m";
//接收用户输入的第一个参数
cin>>_exit;

//重命名一个文件或目录
if(_exit=="rename")
{
//opendir()系统函数的返回值
DIR*return_opendir;
charfilename1[20],filename2[20];
//接收用户输入的第二个参数(目录名)
cin>>filename1;

//判断目录名是否存在
if((return_opendir=opendir(filename1))==NULL)
{
cout<<"thedirectorydoesn'texist! ";
/*用户输入三个参数,当执行这个if循环时
由于跳出rename这个循环而没有执行cin>>filename2
但有第三个参数的存在,第三个参数赋给了while循环中的_exit变量
程序中的其他temp意思一样
*/
stringtemp;
cin>>temp;
continue;//跳出rename判断
}
//接收用户输入的第三个参数(文件名)
cin>>filename2;
//判断文件是否存在
if(rename(filename1,filename2)==0)
{
cout<<filename1<<"successchangeto"<<filename2<<endl;
}
else
cout<<filename1<<"failurechangeto"<<filename2<<endl;

closedir(return_opendir);
}

//在指定的目录及其子目录中查找指定的文件
elseif(_exit=="find")
{
//指定的目录
charspecifyDirectory[20];
//指定的文件
stringfilename;
//readdir()系统函数的返回值
structdirent*return_readdir;
//接收用户输入的第二个参数(目录名)
cin>>specifyDirectory;
DIR*return_opendir=opendir(specifyDirectory);
//判断指定的目录名是否存在
if(return_opendir==NULL)
{
cout<<"thedirectorydoesn'texist! ";
stringtemp;
cin>>temp;
continue;
}
//接收用户输入的第三个参数(文件名)
cin>>filename;
//判断文件是否存在
while((return_readdir=readdir(return_opendir))!=NULL)
{

if(return_readdir->d_name==filename)
cout<<filename<<"hasbeenfind.congratulation! ";
else
cout<<"Sorry,thefileyoufinddoesn'texitin"
<<return_readdir->d_name<<" ";
}
closedir(return_opendir);
}

//显示当前所在目录的路径名
elseif(_exit=="pwd")
{
//系统函数getcwd的返回值
charreturn_getcwd[50];
getcwd(return_getcwd,sizeof(return_getcwd));
cout<<return_getcwd<<endl;
}

//改变当前工作目录
elseif(_exit=="cd")
{
//opendir()系统函数的返回值
DIR*return_opendir;
//当前工作目录
charfilename[20];
//接收用户输入的第二个参数(目录名)
cin>>filename;
//判断目录是否存在
if((return_opendir=opendir(filename))==NULL)
cout<<"thedirectorydoesn'texist! ";
else
{
intreturn_chdir=chdir(filename);
cout<<"thecurrentworkingdirectoryis:"<<filename<<endl;
}
closedir(return_opendir);
}

//列出指定目录名中的所有目录及文件
elseif(_exit=="dir")
{
//readdir()系统函数的返回值
structdirent*return_readdir;
//opendir系统函数的返回值
DIR*return_opendir;
//指定目录
charfilename[20];
//接收用户输入的第二个参数(目录名)
cin>>filename;

return_opendir=opendir(filename);
//判断目录是否存在
if(return_opendir==NULL)
{
cout<<"thedirectorydoesn'texist! ";
continue;
}
//输出文件中所有内容
while((return_readdir=readdir(return_opendir))!=NULL)
{
cout<<return_readdir->d_name<<endl;
}
closedir(return_opendir);
}

//新建目录
elseif(_exit=="newdir")
{
charfilename[20];
cin>>filename;
//mkdir函数的返回值,其中10705是权限位掩码
intreturn_mkdir=mkdir(filename,00700);
cout<<filename<<"createdirectorysuccessful ";
}

//删除目录
elseif(_exit=="deldir")
{
DIR*return_opendir;//opendir()系统函数的返回值
charfilename[20];
cin>>filename;
if((return_opendir=opendir(filename))==NULL)
cout<<"thedirectorydoesn'texist! ";
else
{
rmdir(filename);
cout<<filename<<"deletesuccessful ";
}
closedir(return_opendir);
}

//显示当前日期
elseif(_exit=="date")
{
//时间类型
time_ttimetype;
//时间格式
structtm*timeformat;
//获取时间存于timetype函数原型:time_ttime(time_t*t);
time(&timetype);
//转换为当地时间。函数原型:structtm*localtime(consttime_t*timer);
timeformat=localtime(&timetype);

//#include<time.h>函数原型:char*asctime(conststructtm*timeptr);
//转为标准ASCII时间格式
cout<<"Thedateis:"<<asctime(timeformat);
}

//退出命令解释程序
elseif(_exit=="exit")
{
cout<<"exittheprogram ";
}

//用户错误输入提醒
else
{
cout<<"pleaseinputcorrectcommand ";
}
}
return0;
}

//显示界面
voidDisplay()
{
cout<<"33[01;31m@------------------------------------------@33[0m ";
cout<<"33[01;31m@@33[0m ";
cout<<"33[01;31m@dir<directoryorpath>Displaythefile@33[0m ";
cout<<"33[01;31m@cd<directoryorpath>ChangeDirectory@33[0m ";
cout<<"33[01;31m@newdir<directory>CreateDirectory@33[0m ";
cout<<"33[01;31m@deldir<directory>DeleteDirectory@33[0m ";
cout
<<"33[01;31m@
rename<OldFileName><NewFileName>renamethe
fileordirectory@33[0m ";
cout<<"33[01;31m@
find<directory>-name<FileName>Findthe
fileinspecified@33[0m ";
cout<<"33[01;31m@dateShowcurrentdate@33[0m ";
cout<<"33[01;31m@exitexittheprogram@33[0m ";
cout<<"33[01;31m33[0m";
}

‘捌’ linux里面bash是什么

bash是一种命令处理器可以写脚本语言 《linux就该这么学》不错的linux自学书籍

‘玖’ Linux命令解释器——Shell

Shell是应用于Linux系统中的命令解释器,其作用和Windows系统的命令提示符一样。都是为当前用户提供与系统内核进行交互操作的一种用户界面。

‘拾’ 在linux中,命令解释器是哪个 a,管道 b,分级文件系统 c,字符型处理器 d,shell

选d,shell

阅读全文

与linux命令解释器相关的资料

热点内容
算法设计中文版pdf 浏览:79
视频压缩形式怎么改 浏览:366
perl程序员 浏览:787
电子表格对比命令 浏览:608
php循环输出数组内容 浏览:748
电脑加密能不能强制关掉 浏览:616
趣味单人解压桌游 浏览:210
oppo手机谷歌服务器无法核实什么 浏览:318
软件怎么加密华为 浏览:220
扫地机怎么安装app 浏览:317
考研结合特征值计算法 浏览:514
操作系统算法综合题 浏览:150
华为程序员待遇 浏览:545
程序员带娃的图片 浏览:77
迷你云服务器怎么下载 浏览:813
福州溯源码即食燕窝 浏览:233
当乐服务器怎么样 浏览:713
nc编程软件下载 浏览:382
如何限制手机app的使用 浏览:307
安卓华为手机怎么恢复桌面图标 浏览:956