为什么linux下点击运行没有出现终端窗口

为什么linux下点击运行没有出现终端窗口,第1张

这个只能先用快捷键打开终端 才能使用命令的 命令是要在终端(即命令窗口)输入的, 没有打开终端,命令就不能输入。 一般来说打开终端的快捷键是Ctrl+Alt+T 也可以自己设置。 以上回答由东莞市万里行橡胶有限公司提供,望采纳。

两种可能:1、文件编码和终端编码不同;2、没装中文字体。

先看看你的系统有没有安装中文字体。我一般用的是文泉驿正黑。

如果安装了字体的话就是编码问题。文件是GB码,终端是UFT-8编码。

1、在ubuntu系统中默认是没有tree这个命令的,需要安装,用下面的命令就可以安装tree这个命令工具sudo apt-get install tree。

2、首先来说说使用tree这个命令,就是直接查看关于tree的帮助,输入下面的命令,可以查看关于tree命令的帮助信息tree --help。

3、直接输入tree命令,就会自动给以树形的形式列出当前目录的文件和文件夹,不加任何参数,它会自动列表当前目录下面所有深度级别的文件和目录。

4、查看不同级别子目录和文件使用"tree -L 1 "这个命令,只查看当前第一级的目录和文件使用"tree -L 2 "这个命令,只查看当前第二级的目录和文件使用"tree -L N "这个命令,只查看当前第N级的目录和文件。

5、使用下面的命令将当前文件的第二级子目录的目录结构信息输入保存到/home/xyh/treetxt文件中命令:tree -L 2 > /home/xyh/treetxt。

6、打开/home/xyh/treetxt文件查看里面保存的结果是否和之前使用的命令显示的结果是一样的,可以看到文件保存的结果就是使用"tree -L 2 "这个命令的输入结果。

linux终端提示符默认如下显示效果

这里主要想在终端提示这里看到 登录用户 服务器ip 绝对路径 ,如下显示:

这里主要通过PS1变量来进行设置

ps1默认为 [\u@\h \W]\$

各提示符的含义如下:

由此可知,默认显示当前用户、主机的第一个名字、当前工作目录

可以将PS1修改为如下:

上面还包含提示符颜色的设置,具体可以参考 PS1设置

如果想PS1的设置永久有效,可以在/etc/profile或bashrc文件里进行设置,然后打开一个新的终端就会看到新设置的提示符生效了。

但是这里可能会发现,主机名显示的不是ip,显示如下:

原因是这里的hostname不是ip

因为需要修改hostname,提供一个快速永久修改hostname的方法

这时hostname就改成主机的ip了,

重新打开终端后就变成了想要的终端提示符

关于linux的 PS2、PS3、PS4 可以参考 linux下PS1、PS2、PS3、PS4最全详解

比如测ttyS0 那么在A输入 echo aaaaaaaaa > /dev/ttyS0

在B输入 cat < /dev/ttyS0

将ttyS0对应的设备串口的2,3脚短接

这样在A敲回车 执行那条命令时在B就会有输出了。

ps 是显示运行的程序

kill 是杀死运行的进程

两个和文件目录有关系么?

---------------------

杀别人的进程必须有权限,不然权限系统就是摆设。

不过你可以借助 sudo 的无密码授权功能,或者 SELinux 的授权功能给一个 shell 脚本增加直接获得 root 的权限,之后这个脚本里面来进行显示、杀死进程的工作。不过这个脚本会很危险,因为别人有可能借助这个脚本实现获取完整 root 权限的。这种安全问题导致的大事不是一个两个了。很多软件曾经都闹过这种问题。

另外,进程只能杀死(kill)不能删除(delete),而且删除用户和杀死进程又是两个事情。

要解释图形模式控制台为何不能显示汉字,首先来了解一下虚拟终端是怎么管理屏幕上的文字显示的。虚拟终端的实现在 drivers/tty/vt/vtc 。代表虚拟终端的数据是 struct vc。  

struct vc{  struct vc_data;  struct work_struct;  };  故而 struct vc_data 才是要的虚拟终端的定义。

先来看看 struct vc_data 到底定义了什么东西。  struct vc_data 的定义在 include/linux/console_structh, 定义摘录如下,为了不延长篇幅,有省略的部分:  struct vc_data {  struct tty_port port; / Upper level data /  unsigned short vc_num; / Console number /  unsigned int vc_cols; / [#] Console size /  unsigned int vc_rows;  省略   const struct consw vc_sw;  unsigned short vc_screenbuf;  / In-memory character/attribute buffer / unsigned int vc_screenbuf_size;  省略   };       

其中 vc_screenbuf 存储了虚拟终端要显示在屏幕上的文字。

const struct consw vc_sw 指向控制台驱动提供的函数。虚拟终端利用里面的函数指针调用相应的 *** 作,比如重绘屏幕,绘制一个字符等等。这些 *** 作由 vgacon 和 fbcon 等控制台驱动实现。当你切换终端的时候,实际上就是把当前终端设置为你要切换过去的终端,并且重新绘制当前终端 vc_data->vc_screenbuf 存储的内容。

当从键盘输入命令或者程序运行过程中要输出内容的时候,虚拟终端首先将输出的字符进行编码转化,转化为对于字符的 GLYPH 代码,并且将 GLYPH 和当前字符属性结合,最后将合成结果写入当前光标所处的位置。

内核中实际的算法要复杂的多,还牵涉到中断,但是为了简单快递的把我们关心的部分的核心表达出来,使用一下伪代码表示不那么严谨的过程。希望了解全部的可以自行查看内核相关的代码,主要代码在 drivers/tty/vtc 的 do_con_write() 中。

以上就是关于为什么linux下点击运行没有出现终端窗口全部的内容,包括:为什么linux下点击运行没有出现终端窗口、在Linux终端显示乱码问题。、linux终端中用树形显示文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9829453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存