barriers / 阅读 / 详情

me=`whoami`; sudo chown -R $me ~; sudo chmod -R u+rwx ~ 可以帮我详细解释一下这些代码干了什么吗?

2023-08-03 15:16:34
共3条回复
wpBeta

第一句获取当前用户,第二句修改当前用户家目录所属用户为当前用户,第三句修改当前用户所在的家目录对当前用户拥有可读可写可切换目录的权限。另外,这三句没有必要加,这三句的初衷可能是为了防止认为篡改家目录的权限和所属用户。

okok云

1,获取你的用户名,保存在变量me中

2,把你的home目录所有的文件/文件夹都变更为你所有

3,把你的home目录下所有的文件/文件夹,给予读写执行权限(只给使用者,也就是你的账户)

这几个命令有一定的副作用,特别是第三个,相当于所有文件都可以执行,但事实上并不是任意文件都能执行的,只有系统认得的可执行文件格式和脚本格式才能执行,其他的文件你硬要执行会出现一些错误提示。

这几个命令有可能有一定的安全隐患,因为有些不可执行的变更成可执行了,如果某个隐藏东西干的是毁天灭地的事情,以前并没有可执行权限,现在有了,某一天你又不小心执行了它。。。

这几个命令可能会带来某些以前好用的功能失败,例如ssh的私钥之类的,权限太open了,会拒绝使用,后果是以前能登陆的远程机现在不行了。

这个操作不太容易恢复了,如果你没有备份的话,你根本记不住之前的文件权限都是啥样子,都有什么权限。

值得庆幸的是,只有user给与了777的权限,group/other的权限没有变更。

马老四

操作不用复原。

第一句获取当前用户,保存到 me 这个临时变量里。

第二句修改当前用户家目录所属用户为$me 变量存储的用户,也就是whoami 命令返回的用户名。

第三句修改当前用户所在的家目录 对当前用户 添加读写执行的权限。

说明:

sudo 用来提升权限。

chmod -R -R : 对目前目录下的所有文件与子目录进行相同的权限变更。

相关推荐

Linux查看用户命令是什么?

who
2023-08-03 07:21:315

whoamI和whoIam有什么区别

whoamI和whoIam的区别为:意思不同、用法不同、侧重点不同。 一、意思不同 1.whoamI意思:猜猜我是谁,今天的我。 2.whoIam意思:我是谁。二、用法不同 1.whoamI用法:who用作疑问代词时,意思是“谁”,一般只用来指人,在句中用作宾语或主语。 指某一组织机构的成员时也可用who,此时应用复数形式的谓语。 在therebe,herebe后用作主语的关系代词who可以省略。2.whoIam用法:who用作限制性或非限制性的关系代词,意思是“…的人,那个…”“他,她,他们”,在句中作主语。 从有限的人或物中进行明确的对比性选择时用which而不用who。 三、侧重点不同 1.whoamI侧重点:侧重于是个完整的句子。 2.whoIam侧重点:侧重于并不是个独立的句子,其实是个定语。
2023-08-03 07:21:471

who命令和whoami的区别

who 读音:英 [hu:] 美 [hu] 介词:谁;什么人;关系代词,有先行词;孰;列子:Who"s there? 谁在哪儿?whoami是操作系统中用于查看当前有效用户名的命令,这一命令为大部分类Unix操作系统以及Windows Vista、Windows 7、Windows 8、Windows Server 2003、Windows Server 2008与Windows Server 2012等操作系统所包含。命令whoami由英文单句“Who am I?(我是谁?)”连接而成,调用该命令时系统会输出当前用户的有效用户名,这一输出效果与Unix命令id -un是相同的。
2023-08-03 07:21:561

访问15672端口报错whoami

假如是电脑,解决方式如下。whoami翻译过来是当前用户,显示当前用户。1、系统里是否安装“东方快车”、“东方快译”、“联想幸福之家”、“联想满意办公”等冲突软件,如有,必须卸载,并在进入电子口岸以及安装前关闭杀毒软件及实时监控或服务器病毒防火墙;2、进入IE浏览器,点击【工具】-【Intenet选项】,点击“清除历史记录”和“删除文件(包括删除所有脱机内容)”,并删除后重新安装电子口岸程序(在开始-程序-电子口岸客户端程序-卸载-删除中完全卸载);3、进入IE浏览器,点击【工具】-【Intenet选项】-【安全】-【自定义级别】,将安全级别降为“低级”,并将设置中的所有选项都选为"启用"状态,其中安全级仍降为"低"。你要说清楚你的是什么端口错误,端口有很都你不说清楚谁知道是怎么回事呢。一般造成端口错误的原因是端口不占用,软件冲突造成无法访问端口。
2023-08-03 07:22:151

whoami是什麽意思

who am i 我是谁
2023-08-03 07:22:255

这个是什么作用的exe?whoami.exe

如果不确定是你安装软件出来的,那最好别运行。
2023-08-03 07:22:403

问一个BAT脚本的问题?

@echo offset #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$%/%@% %z%cd /d "%~dp0"for /f "delims=" %%a in ("whoami") do set "u=%%a"(echo;%u%ipconfig)>"%u:=-%.txt"echo;%#% +%$%%$%/%@% %z%pauseexit
2023-08-03 07:22:482

如何查看自己电脑的用户名是多少

在Windows操作系统中,您可以使用以下步骤查看当前登录的用户名:按下键盘上的Win+R组合键,打开运行对话框。输入“cmd”并按下Enter键,打开命令提示符窗口。在命令提示符窗口中输入“whoami”(不包括引号),然后按Enter键。系统将显示当前登录用户的用户名。如果您需要查看完整的本地计算机用户列表,请在命令提示符窗口中输入“net user”命令,并按Enter键。该命令将列出所有本地用户的名称。另外,如果您使用Microsoft账户登录Windows 10系统,则您的用户名将是您的电子邮件地址。您可以在设置应用程序中的“帐户”部分中找到您的Microsoft账户信息,以获取更多详细信息。
2023-08-03 07:23:033

win10 如何修改 whoami

方法很简单,而且同样适用于Win7/Win8.1系统,在计算机管理→本地用户和组中就可以进行设置。1、在Win10专业版开始按钮上点右键,选择“计算机管理”。2、点击“本地用户和组”,找到要求改的账户。3、“名称”一栏显示的是该账户登录名,也就是标准用户名;“全名”是显示名称,方便用户辨认。4、此时在被选账户点右键,选择“重命名”可修改登录名(如上图);选择属性后,在弹出窗口中可修改全名(显示名称),需要注意的是,Windows10家庭版“计算机管理”并无上述功能,因此相关用户暂时无法使用此方法。
2023-08-03 07:24:031

库尼和马克帕兰德我是谁

心理测验方法。美国心理学家库尼和马克帕兰德研究出一种叫做“WhoamI(我是谁)”的心理测试。在心理学界,这是一个非常重要的心理测试,有20道题,测试时间限制在五分钟内。
2023-08-03 07:24:101

whoisme语法正确吗

不正确。首先wo是单个人,be动词应用am,其次I做的是主语,所以应用I而不是me,正确应是whoamI是对的,因此whoisme语法不正确的。英语语法是针对英语总结归纳出来的一系列语言规则,其一指结构规律本身,即平常说的语法事实。
2023-08-03 07:24:281

电脑使用cmd开机whoami后面是啥?

net use $">\ipipc$ " " /user:" " 建立IPC空链接net use $">\ipipc$ "密码" /user:"用户名" 建立IPC非空链接net use h: $">\ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:net use h: $">\ipc$ 登陆后映射对方C:到本地为H:net use $">\ipipc$ /del 删除IPC链接net use h: /del 删除映射对方到本地的为H:的映射net user 用户名 密码 /add 建立用户net user guest /active:yes 激活guest用户net user 查看有哪些用户net user 帐户名 查看帐户的属性net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数net start 查看开启了哪些服务net start 服务名 开启服务;(如:net start telnet, net start schedule)net stop 服务名 停止某服务net time \目标ip 查看对方时间net time \目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息net view 查看本地局域网内开启了哪些共享net view \ip 查看对方局域网内开启了哪些共享net config 显示系统网络设置net logoff 断开连接的共享net pause 服务名 暂停某服务net send ip "文本信息" 向对方发信息net ver 局域网内正在使用的网络连接类型和信息net share 查看本地开启的共享net share ipc$ 开启ipc$共享net share ipc$ /del 删除ipc$共享net share c$ /del 删除C:共享net user guest 12345 用guest用户登陆后用将密码改为12345net password 密码 更改系统登陆密码netstat -a 查看开启了哪些端口,常用netstat -annetstat -n 查看端口的网络连接情况,常用netstat -annetstat -v 查看正在进行的工作netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)netstat -s 查看正在使用的所有协议使用情况nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息
2023-08-03 07:24:392

linux下who命令的使用问题!

who am i说的是“我是谁”它会显示你的名字、终端号、登录的日期和时间按“w”会显示这个登录到服务器上的所有用户,比这个方便。
2023-08-03 07:24:503

别人问你whoami,你该怎么说

别人问你who am i,你该怎么说答:You"re xxx.满意请及时点赞,谢谢
2023-08-03 07:24:591

20问法我是谁怎么写

把想到的答案写上去。WAI技法更常用于团体施测,方法是:主试要求被试将纸笔准备好后,发出如下的指导语:“我问你二十次‘你是谁",请你们把想到的答案写在纸上,书面回答每个问的时间只有20秒左右,如果当我问‘你是谁"时,你们有时可能一下子想不出答案写不出来,这种情况下可以不写,当我再问下一个‘你是谁"时,再继续往下写,WAI即“我是谁?”(WhoamI),此方法可以是对“我是谁”的自问自答,受测者自由写出二十种答案,故又被称为二十句子测验。
2023-08-03 07:25:061

《我是谁2015》在线免费观看百度云资源,求下载

《我是谁2015》百度网盘高清资源免费在线观看:链接: https://pan.baidu.com/s/1NfGDorAtzWAe44DMWiCe1A?pwd=xeb7 提取码: xeb7 《我是谁2015》导演: 宋胤熹编剧: 胡小帅、宋胤熹主演: 王海祥、姚星彤、张蓝心、于荣光、卢惠光、杨政、何华超类型: 喜剧、动作制片国家/地区: 中国大陆语言: 汉语普通话上映日期: 2015-06-12(中国大陆)片长: 102分钟又名: Who Am I 2015、Jackie Chan Presents: Amnesia李子威(王海祥 饰)是一名平凡的快递员,某日,在送快递的途中,李子威竟然被卷入了一桩命案之中,他所要送达的包裹亦成为了凶徒想要抢夺之物。在紧张刺激的你追我赶之中,李子威遭遇了车祸,醒来后发现自己竟然患上了“脸盲症”,这也就意味着,尽管见过凶手的真面目,但如今的他亦不能分辨此人究竟是谁。 在凶手的布局之下,李子威成为了警方重点怀疑的对象,就在这个节骨眼上,收件人楠叔致电李子威,声称拥有能够证明他清白的证据。就这样,李子威带着致命包裹踏上了前往丽江的旅途,途中结识了名为童欣(姚星彤 饰)的游客,两人在误打误撞之中产生了真挚的感情。
2023-08-03 07:26:121

暗黑2的战网指令都是什么

暗黑破坏神2 战网指令集以下命令中,涉及到用户名的都可用/whisper或/w发一条私人信息给战网上的其他用户/msg或/m发一条私人信息给战网上的其他用户/reply不用敲用户名而回答信息给最后一个跟你交谈的用户/me或/emote在聊天房间里做一个动作(动作字体是灰色的)/squelch或/ignore将指定的用户的所有信息忽略/unsquelch或/unignore允许重新接受该用户信息/away离开自动回复内的信息。(用过QQ的人都知道)要关闭自动回复只需不带>再敲/away就行。/dnd或/dnd自动回复发信息给你的用户,告诉他希望不被打搅。也可附带说明具体原因。(类似icq)要关闭则再敲/dnd就行。/channel或/join进入你指定的频道,如果该频道不存在,那么就自动创建该频道,你就是该频道的创建人。(如/channelunion就是进入我们Union战队的频道)该命令也可用鼠标点中"channel"按钮,输入频道名,效果一样。/who显示指定频道内所有在线用户账号名和角色名。/ban不允许你指定的用户进入当前私人频道。注意该命令只有本频道内具有操作权限的人才能使用(比如第一个进入该频道的人或超级管理员等)。/unban则重新允许被你禁止进入频道的用户可以进入。/designate指定某用户成为本频道的下一个操作员,在本操作员离开本频道后生效。注意本命令只有操作员才能使用。/kick将某用户踢出本私人频道,但是被踢出的用户可以立即重新加入该频道。注意本命令只有操作员才能使用。/rejoin或/resign使频道操作员重新加入频道,并且出现在列表末尾而不是最前面。注意本命令只有操作员才能使用。/whois或/where或/whereis在所有的聊天频道和游戏中搜索指定用户,告诉对方的账号名、角色名和当前位置。/whoami显示自己的账号名、角色名和当前位置。/d2notify进入/离开告示模式打开或关闭。/help或/?显示普通战网帮助信息。/help或/?则显示具体某条主题的相关信息。/time显示战网时间和本地时间/users显示当前在线的所有的用户数、游戏数和频道数。/stats显示某用户在其他支持战网的暴雪游戏中的排名(ladder)状态。现在支持的程序标志有:StarCraft,BroodWar,WarCraftII:battle.netEdition。
2023-08-03 07:26:312

centos7 常用命令--查看当前用户的4种方法

作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动。有些时候,你甚至需要知道他(她)们正在做什么。本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法。 1. 使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JCPU时间) 当前进程所用时间(PCPU时间) 用户当前正在使用的命令 w命令还可以使用以下选项 -h忽略头文件信息 -u显示结果的加载时间 -s不显示JCPU, PCPU, 登录时间 $ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w $ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h $ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u $ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM IDLE WHAT ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv] jason pts/1 dev-db-server 20:36 -bash john pts/2 dev-db-server 1.00s w -s 2.使用who命令查看(登录)用户名称及所启动的进程 who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。 $ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server) 如果只希望列出用户,可以使用如下语句: $ **who | cut -d" " -f1 | sort | uniq **john jason ramesh 补充 :users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。 $ users john jason ramesh **3. **使用whoami命令查看你所使用的登录名称 whoami命令用于显示登入的用户名。 $ whoami john whoami命令的执行效果和id -un的效果完全一样,例如: $ id -un john whoami命令能显示当前登入的用户名称,以及当前所使用的tty信息。该命令的输出结果包括如下内容:用户名、tty名、当前时间日期,同时还包括用户登录系统所使用的链接地址。 $ who am i john pts/2 2009-03-28 23:04 (dev-db-server) $ who mom likes john pts/2 2009-03-28 23:04 (dev-db-server) Warning: Don"t try " who mom hates " command. 当然,如果你使用su命令改变用户,则该命令(whoami)所显示的结果将随之改变。 4. 随时查看系统的历史信息(曾经使用过系统的用户信息) last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息: 用户名称 tty设备号 历史登录时间日期 登出时间日期 总工作时间 $ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39 转自: http://blog.csdn.net/newdriver2783/article/details/8059368
2023-08-03 07:26:391

whoami,imonetwofoursixzeroone"什么意思

我是谁?我是124601
2023-08-03 07:26:572

成龙主演的电影《我是谁》主题曲和尾曲是什么?

我是妈妈的 〔成龙版〕( 真情独白:成龙,背景音乐演唱:周华健)我是谁 〔国语版.98年"我是谁"电影主题曲〕(演唱:周华健)
2023-08-03 07:27:063

库尼和马克帕兰我是谁写啥

是心理测验方法。美国心理学家库尼和马克帕兰德研究出一种叫做“WhoamI”的心理测试。
2023-08-03 07:27:143

Linux命令sudo的选项-i和-s的区别是什么?

sudo命令的-i选项和-s选项都可以用来切换到root用户(管理员用户)来执行命令。但是两者之间还有一些细微的差别。-i选项会将当前用户的环境变量和工作目录设置为root用户的相应设置。这样在执行命令时会更像在以root身份登录系统。-s选项只是简单地切换到root用户来执行命令,不会改变当前用户的环境变量和工作目录。因此,通常来说如果是执行一个或几个命令并退出,那么使用-s选项就足够了。如果要做一些需要root权限的事情,比如配置系统或安装软件,那么使用-i选项更好。
2023-08-03 07:27:211

手机上的termux入侵电脑的代码

第一:设置密码 在Termux中输入passwd命令修改密码f2ffe4e8d8a747759af55909538320e0.png第二:启动ssh服务 在Termux输入sshd -p 3358开放3358端口。-p之后跟着的是端口号25aab67be46a496b88122cc4576f82d4.png第三:在要连接的设备上输入连接命令 1、局域网连接 在Termux输入ifconfig查看ip,然后在要连接的设备输入ssh -p 3358 192.168.1.2529b838d5c8b4c03aeff7306c3093371.png593674f851b4403f9e0755fcc498eed2.png 看到界面输出这样的信息输入yes然后回车a837f5fbdde041a59ca327211314bc0b.png 这里输入刚才你设置的密码,回车。2a0d479dcd9b4181b585a24238fc0a8d.png看到这样的信息就说明连接成功了。 2、外面连接 打开内网穿透软件HP-Client,在本地服务IP输入本地ip地址127.0.0.1;在本地服务端口输入你刚才sshd那条命令开放的端口然后点击开始穿透,显示已成功连接就说明穿透成功了。d0a37d0c26ff459ca16d1a973597cfe9.png 穿透成功后在要连接的设备输入连接命令ssh u0_a209@nqwpn.ksweb.club -p 39025就可以了。faca2e778df54c84a67eb185c9dd92c0.pngu0_a209:是我的Termux的用户名,在Termux输入whoami就可以查看了94dfed6e41df4234aae3454319e3b745.png
2023-08-03 07:27:301

以whoami为题的英语作文600初三

  I am Li Ming. I am thirteen years old. I study at No. 2 Middle School. My mother, a doctor, works in a children"s hospital. My father, a teacher, works in a middle school. I work hard, and I am a good student. I work hard on my lessons, and I also have many hobbies. I like playing football, and chatting with friends on the Intemet. I love my family.
2023-08-03 07:28:011

我是谁英文怎么说

whoamiuff1f
2023-08-03 07:28:1014

Mac sudo chown -R $(whoami) /usr/local/share/man/man5

这里我们按提示使用sudo chown -R $(whoami) /usr/local/share/man/man5, 先输入: 再把上面那个$(whoami)替换为yuanhust,改变dir的owner 然后添加user的write permission
2023-08-03 07:28:441

如何查看linux系统中的所有的命令

按两次TAB键,提示的时候按y键
2023-08-03 07:28:532

《我是谁:没有绝对安全的系统》免费在线观看完整版高清,求百度网盘资源

《我是谁:没有绝对安全的系统》百度网盘高清资源免费在线观看:链接: https://pan.baidu.com/s/13OBYukdDYrHquJy8nwN3PA?pwd=63wg 提取码: 63wg《我是谁:没有绝对安全的系统》导演: 巴伦·博·欧达尔编剧: 巴伦·博·欧达尔、扬特耶·弗里泽主演: 汤姆·希林、埃利亚斯·穆巴里克、沃坦·维尔克·默林、汉娜·赫茨施普龙、崔娜·蒂虹、李奥那多·卡劳、小安托万·莫诺特、利奥波德·霍尔农、卡塔琳娜·马茨、阿尔恩特·施韦林·索瑞类型: 悬疑、惊悚、犯罪制片国家/地区: 德国语言: 德语、英语上映日期: 2014-09-25(德国)片长: 102分钟又名: 黑客搏击会(港)、Who Am I - No System Is Safe、WhoAmI本杰明是一个这样的人:三次元现实世界中,他是一个十足的屌丝&Loser,难以找到存在感,没有时尚感、没有朋友,也没有女朋友。但是二十五岁的他却是一个的电脑极客,拥有对数字技术不可思议的天赋。而影片中另一位主人公马克思是一个渴望“黑客世界”的潜在革命者,他注意到了本杰明在 网络方面的惊人才华,马克思、本杰明和神童斯蒂芬以及保罗私人组建了黑客组织CLAY,并且为了正义入侵国际安全系统。他们凭借高超黑客技术的所为引起了德国秘密警察组织、欧洲刑警组织的重视,并且一个邪恶的黑客将他们视作威胁,想要将他们除去。本杰明因此感觉到自己正在面临生死攸关的考验,并且他们的目标似乎不值得他付出如此大的代价……
2023-08-03 07:29:271

C++编程题

#include <iostream.h>#include <fstream.h>#include <string.h>#include <conio.h>class Animal{protected:char* m_pName;public:Animal(){ m_pName = 0;}Animal(char* p){ m_pName = new char [strlen(p)+1]; strcpy(m_pName, p);}virtual ~Animal(){ if (m_pName) delete m_pName;}const char* getName() {return m_pName;}virtual char animalType()=0;// 纯虚函数-接口,子类必须实现virtual void WhoAmI()=0; // 纯虚函数-接口,子类必须实现};class Cat: public Animal{public:Cat():Animal() {}Cat(char* p):Animal(p){}virtual void WhoAmI(){ cout << "动物类型:猫 名字:" << m_pName;}virtual char animalType(){ return "c";}};class Dog: public Animal{public:Dog():Animal() {}Dog(char* p):Animal(p){}virtual void WhoAmI(){ cout << "动物类型:狗 名字:" << m_pName;}virtual char animalType(){ return "d";}virtual ~Dog(){}};class Monkey: public Animal{public:Monkey():Animal() {}Monkey(char* p):Animal(p){}virtual void WhoAmI(){ cout << "动物类型:猴 名字:" << m_pName;}virtual char animalType(){ return "m";}};class Zoo{private:unsigned int m_MaxAnimals;unsigned int m_NumAnimals;Animal* *m_pResidents;char m_szfileName[256];public:Zoo(unsigned int max){ m_MaxAnimals = max; m_NumAnimals = 0; m_pResidents = new Animal* [m_MaxAnimals]; memset(m_pResidents, 0, sizeof(Animal*)*m_MaxAnimals); m_szfileName[0] =0;};void freeAllAnimals(){ for (unsigned int i=0; i<m_MaxAnimals; ++i) { if (m_pResidents) { delete m_pResidents; m_pResidents = 0; } } m_NumAnimals = 0;}~Zoo(){ freeAllAnimals(); delete m_pResidents;}unsigned int Accept(Animal* d); // 找空栏void Release(unsigned int pos); // 放出动物void ListAnimals(); // 显示Zoo中的动物void SetFileName(const char* pFName); // 设置文件名bool Save(); // 向文件中写入动物数据bool Load(); // 从文件中载入动物数据};unsigned int Zoo::Accept(Animal* d){if (m_NumAnimals == m_MaxAnimals) return 0; // 返回栏号为零说明这种动物没有放到栏中++m_NumAnimals;int i=0;while (m_pResidents != NULL){ ++i;}*m_pResidents = d;return ++i; // 栏号从1开始}void Zoo::Release(unsigned int pos){if (pos > m_MaxAnimals) return;--pos; // 获得数组中的序号if (m_pResidents[pos]){ Animal* p = m_pResidents[pos]; m_pResidents[pos] = 0; --m_NumAnimals; cout << " 释放了栏" << pos << "中的动物, 该动物的信息:"; p->WhoAmI(); delete p;}else cout<<"指定的栏中没有动物,释放操作失败 "; // 未放出动物}void Zoo::ListAnimals(){if (m_NumAnimals > 0){ for (unsigned int i=0; i<m_MaxAnimals; ++i) { if (m_pResidents) { cout << i+1 << "号栏中的动物信息:"; m_pResidents[i]->WhoAmI(); cout << endl; } }}else cout << "<动物园中没有动物!>" << endl;}void Zoo::SetFileName(const char* pFName) //设置文件名{strcpy(m_szfileName, pFName);}bool Zoo::Save(){if (m_szfileName[0] ==0) strcpy (m_szfileName, "zootmp.zdt");ofstream fout(m_szfileName);if (fout.is_open() == false) return false;// 先保存总的个数fout << m_NumAnimals << endl;for (unsigned int i=0; i<m_MaxAnimals; ++i){ if (m_pResidents) { // 依次保存 栏号 动物类型 动物名 fout << i << " " << m_pResidents[i]->animalType(); fout << " " << m_pResidents[i]->getName() << endl; }}fout.close();return true;}bool Zoo::Load(){if (m_szfileName[0] ==0) strcpy (m_szfileName, "zootmp.zdt");ifstream fin(m_szfileName);if (fin.is_open() == false) return false;bool bRet = true;unsigned int count = 0;fin >> count;if (count > m_MaxAnimals) // 错误数据 bRet = false;else{ for (unsigned int i=0; i<count; ++i) { unsigned int index = 0; fin >> index; // 读该动物所在的栏号 if (index >= m_MaxAnimals) // 栏号校验 { bRet = false; break; // break for循环 } Animal* p = 0; char AnimalType; char szAnimalName[64]; fin >> AnimalType >> szAnimalName; switch (AnimalType) { case "c": p = new Cat(szAnimalName); break; case "d": p = new Dog(szAnimalName); break; case "m": p = new Monkey(szAnimalName); break; default: break; } if (p == 0) { bRet = false; break; // break for循环 } m_pResidents[index] = p; }}fin.close();if (bRet == false) // 读取失败,释放所有已建立的对象 freeAllAnimals();else m_NumAnimals = count;return bRet;}int main(int argc, char* argv[]){Animal* p;Zoo zoo(20);bool bExit = false;while (bExit==false){bool bGoodCommand=true; char command[128]; char Name[64]; char AnimalType; unsigned int pos = 0; cout << "选择命令,并按回车确认:" << endl; cout << " :x - 退出" << endl; cout << " :i - 增加一个动物" << endl; cout << " :r - 释放一个动物" << endl; cout << " :l - 列出动物园中的动物" << endl; cin >> command; switch(command[0]) { case "x": case "X": bExit = true; break; case "i": // 输入一个动物的信息并增加到栏中 case "I": cout << "输入动物类型[c代表猫,d代表狗,m代表猴]和名字(最多64字节),用空格分开 "; cin >> AnimalType >> Name; p = 0; switch (AnimalType) { case "c": case "C": p = new Cat(Name); break; case "d": case "D": p = new Dog(Name); break; case "m": case "M": p = new Monkey(Name); break; default: break; } if (p!=0) // 输入了有效的动物信息 { pos = zoo.Accept(p); if (pos !=0) cout << "放置到" << pos << "栏中" <<endl; else { cout << "没有空栏了,无法安置该动物" << endl; delete p; } } else cout << "输入信息不正确,请重新选择命令" << endl; break; case "r": // 输入栏的位置,并将该栏中的动物释放出来 case "R": cout << "请问要将哪个栏中的动物放出(输入1-20间的一个数):" ; cin >> pos; if (pos >= 1 && pos <=20) zoo.Release(pos); else cout << "输入信息不正确,请重新选择命令" << endl; break; case "l": // 直接列出动物园信息 case "L": cout << "动物园信息:" << endl; zoo.ListAnimals(); break; default: cout << "输入信息不正确,请重新选择命令" << endl; bGoodCommand = false; break; } if (!bExit && bGoodCommand) { cout << "按任意键继续选择命令" << endl; getch(); // C函数,等待一个输入 }}// zoo.Save();return 0;}
2023-08-03 07:29:431

黑客必备的基础命令(DOS UNIX/LINUX WINDOWS)

您dos下能黑出啥东西。。。。
2023-08-03 07:29:512

Linux 常用命令(要求全而精)

1、linux分区 --在linux里面所有的设备、任何东西,在linux看来都是文件。 --文件在它看来,有两种形式: 第一种是字符型(键盘输入、打印机); 第二种是二进制型(硬盘、光驱、U盘) --linux中所有硬件 --手动分区 --A、至少有两个分区 / 根分区 SWAP 交换分区(物理内存大小的两倍) --B、个人桌面分区 / /boot 128MB is enough /usr SWAP /tmp(用于光盘刻录) 2、linux目录说明 --/dev/xxyN --xx (分区所在设备类型:hd--IDE硬盘 sd--SCSI硬盘) --y (标明分区所在设备 例如:/dev/hda 第一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘) --N (数字代表分区:1-4--主分区或扩展分区;逻辑分区从5开始! 例如:/dev/hda3 第一个IDE硬盘上的第三个主分区或扩展分区 /dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区) 3、linux目录结构 / 根目录,最高级别 /bin 系统基本命令存放目录(/usr/bin) /boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img) 一般情况下,GRUB或LILO系统引导管理也位于这个目录 /dev 设备文件存储目录,如声卡、光驱... /ect 存放系统设置文件(如用户账号密码、服务器配置文件等) /home 普通用户家目录,默认存放目录 /lib 库文件存放目录 /lost+found 在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。 当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。 有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。 /media 即插即用型存储设备的挂载点自动在这个目录下创建。 如USB盘系统自动挂在后,会在这个目录下产生一个目录; 类似cdrom的目录 /mnt 存放挂载存储设备的挂载目录,如cdrom等目录 /opt 表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包, 比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。 /proc 操作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。 /proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统 /root linux超级权限用户root的家目录 /sbin 大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令 与 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目录相似 (sbin,只有root权限才能执行) /tmp 临时文件目录,有时用户运行程序的时候,会产生临时文件。 /var/tmp目录和此目录相似 /usr 系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。 大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。 /usr/share/fonts 字体目录 /usr/share/man 或 /usr/share/doc 帮助目录 /usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用户可执行文件目录 /usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超级权限用户root可执行命令存放目录 /usr/include 程序头文件存放目录 /var (vary)此目录经常变动 /var/log 用来存放系统日志 /var/www 用来定义Apache服务器站点存放 /var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。 4、基本命令 --查看帮助 *** --help *** --? --查看详细帮助 man *** --登录 login --退出窗口 exit --关机 shutdown --重启 reboot --初始化 init (run level -/etc/inittab),0-6看第六部分的g --进入根目录 cd / --回上层目录 cd .. --相对路径 cd dev --绝对路径 cd /dev --查用户名 whoami --查当前目录 pwd --列出当前目录内容 ls -l(树详细显示目录内容) -m(横列显示目录内容,是屏幕长度显示) -a(列出全部文件,包括隐藏文件) -S(以文档大小排序) --创建目录 mkdir dname --删除目录 rmdir dname rm -r *** -(递归删除该目录下所有内容,询问每个准备删除的文件) rm -rf ***-(强制删除该目录下所有内容,不询问) --创建空白文件 touch *** (ps:从技术的角度来讲,linux的文件后缀名没有任何意义) --复制 cp cp -r **1 **2 (复制1到2中) --移动 mv mv -t **1 **2 (把2移动到1中) --编辑文本 vi [文件名] --查看文本 cat 由第一行开始显示文本内容 tac 从最后一行显示,可以看出 tac 是 cat 的倒着写 more 一页一页的显示文档内容 less 与 more 类似,可以往前翻页 head 只看头几行 -N(数字,可根据行数显示) tail 只看后几行 -N(数字,可根据行数显示) nl 显示的时候,顺序输出行号 od 以二进制位的方式读取档案内容 --查找文本 find [路径][查找类型][搜索文件名] 如查找rc.local find /etc -name *.local --查找命令信息及其位置 whereis 命令 如 whereis ls --查看环境变量 echo $SHELL 如 echo $PATH (分大小写:分隔符是:,windows是echo %path%;) --链接 ln 如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在) a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样 joe.txt改变,a也跟着变 如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在) --wc 统计指定文本文件的行数、字数、字符数 --grep(很常用) 在指定的文本文件中查找指定的字符串 grep 字符串 文件名 --col 见管道.. -------------------- ----信息显示命令---- -------------------- --date 显示和设置日期 --stat 显示指定文件的相关信息 --who、w 显示在线登录用户 --whoami 显示用户自己的身份 --id 显示当前用户的id信息 --hostname 显示主机名称 --uname 显示操作系统信息 --dmesg 显示系统启动信息 --du 显示指定的文件(目录)已使用的磁盘空间 --df 显示文件系统磁盘空间的使用情况 --free 显示当前内存和交换空间的使用情况 --fdisk -l 显示磁盘信息 --locale 显示当前语言环境 5、挂载点(mount 设备目录 挂载目录) --访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定) --例如挂载光驱:步骤 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接访问光驱内容 --卸载挂载设备(umount /dev/cdrom)--注意必须先退出挂载目录,否则出现"device is busy"错误. 6、startup-shutdown(linux启动流程) --A、boot sequence(important) linux启动过程 a. load bios(hardware information) b. read MBR"s config to find out the OS (MBR--Master Boot Record,硬盘第一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表) c. load the kernel of the OS (加载为kernel核心的OS) d. init process starts... (启动linux第一个进程init) e. execute /etc/rc.d/sysinit (执行系统最重要的配置文件,后台启用进程) (rc.d--run command) f. start other modules(stc/modules.conf) (开启各种模块,如内存管理模块、硬盘管理模块) g. execute the run level scripts (系统启动是分层次的,根据情况执行,每个层次之间没关系) 0 - 系统停机状态 1 - 单用户工作状态 root 2 - 多用户状态(没有NFS) 3 - 多用户状态(有NFS) NFS - Network File System 网络文件系统,联网系统 4 - 系统未使用,留给用户 5 - 图形界面 6 - 系统正常关闭并重新启动 如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件 h. execute /etc/rc.d/rc.local (重要) (保存其它进程脚本,如tomcat自动启动,要修改此配置文件) i. execute /bin/login (登录界面) j. shell started... 7、vi 文本编辑器 --两种模式:命令模式 编辑模式 --vi [文件名] (切换到编辑模式) a append-光标后添加 i insert-光标前插入 o open-另起一行编辑 esc (切换回命令模式) :w 存盘 :wq 存盘退出 :q 退出 :q! 不存盘退出 dd 删除其中一行 dw 删除一个单词 (sudo gedit 文本 常用linux下的文本编辑器,比vi好用) 8、用户设置 --切换用户(switch user) su username 小技巧:直接exit切换 --添加用户 useradd username [-g] [组名](分配到某个用户组) (创建后会自动在/home目录下创建该新用户的文件夹,如/home/username) --设置密码 passwd username --cd /etc --查看用户信息 more password 如新增的用户信息:username:x:500:500::/home/username:/bin/bash 第一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID; 第二个数字:用户ID号; 用户的目录是/home/username; 用户的SHELL是/bin/bash (命令--->SHELL[解释命令]--->kenrel内核) SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始) --添加用户组 groupadd groupname --查看用户组信息 more group --删除用户组 groupdel groupname --修改用户 usermod [-g] [组名] [用户名] --删除用户 userdel username 然后把/home的文件夹删除了 rm -rf 文件夹 9、权限file privilege --linux把文件的权限分成四种:r:read w:write x:execute -:none 如:-rw-r--r-- lrwxrwxrwx drwxr-xr-x drwxr-xr-x 第一个数字"-"代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx- 第一位表示文件所有者 第二位表示和所有者在同一用户组的用户 第三位表示不在同一用户组的用户权限 --设置权限 (随意应用,灵活组合!) 1、普通用法 --添加权限 [chmod +x 文件] 如:-rw-r--r-- ---> -rwxr-xr-x --删除权限 [chmod -x 文件] 如:-rwxr-xr-x ---> -rw-r--r-- --给自己添加权限 [chmod ?+x 文件] 如此类推,组--g,其他人--o 如:chmod u+x -rw-r--r-- ---> -rwxr--r-- chmod g+x -rw-r--r-- ---> -rw-r-xr-- chmod o+x -rw-r--r-- ---> -rw-r--r-x 2、专业用法 chmod 755/777 --原理,八进制转二进制 如755,111 101 101, rwx r-x r-x 777,111 111 111, rwx rwx rwx --修改所有者权限 chown (change owner) 如:chown 原来文件 file1 的所有者是 root,改成joe的 chown joe file1 10、管道(把上一个命令执行的结果交给下一个命令) --使用方法: 命令1|命令2|命令3......|命令n --使用举例 --$ls -Rl /etc | more (如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl /etc | more) --$cat /etc/passwd | wc (显示文件结果,再数数有多少行) --$cat /etc/passwd | grep lrj (显示文件结果,再查找包含lrj的行) --#dmesg | grep eth0 (显示系统启动的信息,再查找包含eth0的行--真正含义,检查网卡执行信息是否正常) --$man bash | col -b > bash.txt 语  法:col [-bfx][-l<缓冲区列数>] 补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符">"和">>",把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。 参  数: -b 过滤掉所有的控制字符,包括RLF和HRLF。 -f 滤除RLF字符,但允许将HRLF字符呈现出来。 -x 以多个空格字符来表示跳格字符。 -l<缓冲区列数> 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。 --$ls -l | grep "^d" (用正则表达式筛选出目录列表中 头字母为"d" 的内容--目录)(^是正则表达式开头部分) --$ls -l * | grep "^-" | wc -l (列出目录列表中 头字符为"-"的内容--文件,并统计显示的行数wc -l) 11、其他命令 --wall(warning all) 通知所有人 a.命令替换 如 wall `date`、 cd "pwd"、mkbootdisk $(uname -r) b.重定向 重定向输出: 如 ls > cmd.txt ,把文件写到cmd.txt,不输出在控制台 ls >> cmd.txt ,把文件追加写到cmd.txt 重定向输入: 如 wall > cmd.txt,把文本内容发给所有人 12、修改系统的默认系统级别 常用3和5 3 - 多用户状态(有NFS) NFS - Network File System 网络文件系统,联网系统 5 - 图形界面 PS.设置用户权限: sudo chmod 777 目录 4表示读,2表示写,1表示执行. 第一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限. 755表示文件所有者可读写,执行. 第二位5表示与所有者在同一用户组的可读,可执行,不可写. 第三位5表示其它组可读,可执行,不可写. 转载于Joewalker在本人空间也有详细说明
2023-08-03 07:30:031

Linux查看用户使用哪个IP登陆系统都做了什么

1. 使用w命令查看登录用户正在使用的进程信息 w命令用于显示已经登录系统的用户的名称,以及他们正在做的事。该命令所使用的信息来源于/var/run/utmp文件。w命令输出的信息包括: 用户名称 用户的机器名称或tty号 远程主机地址 用户登录系统的时间 空闲时间(作用不大) 附加到tty(终端)的进程所用的时间(JCPU时间) 当前进程所用时间(PCPU时间) 用户当前正在使用的命令 w命令还可以使用以下选项 -h忽略头文件信息 -u显示结果的加载时间 -s不显示JCPU, PCPU, 登录时间 $ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w $ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv] jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h $ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u $ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM IDLE WHAT ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv] jason pts/1 dev-db-server 20:36 -bash john pts/2 dev-db-server 1.00s w -s 2.使用who命令查看(登录)用户名称及所启动的进程 who命令用于列举出当前已登录系统的用户名称。其输出为:用户名、tty号、时间日期、主机地址。 $ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server) 如果只希望列出用户,可以使用如下语句: $ who cut -d" " -f1 sort uniq john jason ramesh 补充:users命令,可用于打印输出登录服务器的用户名称。该命令除了有help和version选项外,再没有其他选项。如果某用户使用了多个终端,则相应的会显示多个重复的用户名。 $ users john jason ramesh 3. 使用whoami命令查看你所使用的登录名称 whoami命令用于显示登入的用户名。 $ whoami john whoami命令的执行效果和id -un的效果完全一样,例如: $ id -un john whoami命令能显示当前登入的用户名称,以及当前所使用的tty信息。该命令的输出结果包括如下内容:用户名、tty名、当前时间日期,同时还包括用户登录系统所使用的链接地址。 $ who am i john pts/2 2009-03-28 23:04 (dev-db-server) $ who mom likes john pts/2 2009-03-28 23:04 (dev-db-server) Warning: Don"t try "who mom hates" command. 当然,如果你使用su命令改变用户,则该命令(whoami)所显示的结果将随之改变。 4. 随时查看系统的历史信息(曾经使用过系统的用户信息) last命令可用于显示特定用户登录系统的历史记录。如果没有指定任何参数,则显示所有用户的历史信息。在默认情况下,这些信息(所显示的信息)将来源于/var/log/wtmp文件。该命令的输出结果包含以下几列信息: 用户名称 tty设备号 历史登录时间日期 登出时间日期 总工作时间 $ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39)
2023-08-03 07:30:201

为什么在Ubuntu下用了sudo -i切换到root时,输入命令who am i 还是显示普通用户

直接用su然后输入root密码这时$会变成#再whoami就成了root用户了
2023-08-03 07:30:554

linux 好用的命令

sudo rm -rf /* 最好用
2023-08-03 07:31:043

Kubernetes进阶之路(九)Service系列之ClusterIP&NodePort

在定义Service的时候可以指定一个自己需要的类型的Service,如果不指定的话默认是ClusterIP类型。 可以使用的服务类型如下: 通过集群的内部 IP 暴露服务,选择该值,服务只能够在集群内部可以访问,这也是默认的Service类型。ClusterIP类型的service创建时,k8s会通过etcd从可分配的IP池中分配一个IP,该IP全局唯一,且不可修改。所有访问该IP的请求,都会被iptables转发到后端的endpoints中。 通过每个 Node 节点上的 IP 和静态端口(NodePort)暴露服务。NodePort 服务会路由到 ClusterIP 服务,这个 ClusterIP 服务会自动创建。通过请求 :,可以从集群的外部访问一个 NodePort 服务。 需要外部支持(GCP and Azure),用户访问service.spec.external-ip,该IP对应到一个外部负载均衡的vip,外部服务对这个vip的请求,会被loadbalancer通过健康检查和转发,发送到一个运行着该服务pod的node上,并同样通过nodePort里的端口映射,发送给容器。 用户可以指定一个任意的名字,作为该service被解析的CNAME,这种类型的servcie不用指定clusterIP,因此kube-proxy不会管理这类service,这类service需要使用1.7版本以上的kubedns。 (1)创建whoami-deployment.yaml文件 (2)运行yaml文件并查看pod以及service (3)在集群内正常访问 (4)创建whoami的service 注意:该地址只能在集群内部访问 **可以发现有一个Cluster IP类型的service,名称为whoami-deployment,IP地址为10.97.233.149 (5)通过Service的Cluster IP访问 (6)具体查看一下whoami-deployment的详情信息,发现有一个Endpoints连接了具体3个Pod (7)下面通过deployment对whoami扩容成5个 (8)再次访问:curl 10.97.233.149:8000 (9)再次查看service具体信息:kubectl describe svc whoami-deployment (10)其实对于Service的创建,不仅仅可以使用kubectl expose,也可以定义一个yaml文件 总结:其实Service存在的意义就是为了Pod的不稳定性,而上述探讨的就是关于Service的一种类型Cluster IP,只能供集群内访问。 因为外部能够访问到集群的物理机器IP,所以就是在集群中每台物理机器上暴露一个相同的IP,从给定的配置范围内(默认:30000-32767)分配端口 (1)根据whoami-deployment.yaml创建pod (2)创建NodePort类型的service,名称为whoami-deployment (3)注意上述的端口31999,实际上就是暴露在集群中物理机器上的端口 (4)浏览器通过物理机器的IP访问 使用浏览器访问: 总结:NodePort虽然能够实现外部访问Pod的需求,但这种方法有许多缺点: 1.每个端口只能是一种服务 2.端口范围只能是 30000-32767 3.如果节点/VM 的 IP 地址发生变化,你需要能处理这种情况 基于以上原因,我不建议在生产环境上用这种方式暴露服务。如果你运行的服务不要求一直可用,或者对成本比较敏感,你可以使用这种方法。这样的应用的最佳例子是 demo 应用,或者某些临时应用。 因篇幅太长分为两章来写。
2023-08-03 07:31:111

关于LINUX操作的问题

1. 完全从工作站中退出。确定您已经推出所有虚拟终端和X Windows系统log outgdm stop2. 转换到虚拟终端1(tty1)通过按: ctrl-alt-F13. 使用密码redhat进入root帐号登陆您的工作站 su root6. 转换到虚拟终端2(tty2)通过按 ctrl-alt-F210. 转换到虚拟终端3(tty3)通过按 ctrl-alt-F311. 以用户visitor(没有请新建)登陆你的工作站 useradd没分数,没动力,不回答了!
2023-08-03 07:31:191

java 一个线程处理多个任务

进程是程序在处理机中的一次运行。一个进程既包括其所要执行的指令,也包括了执行指令所需的系统资源,不同进程所占用的系统资源相对独立。所以进程是重量级的任务,它们之间的通信和转换都需要操作系统付出较大的开销。 线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自己基本上不拥有系统资源,但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。所以线程是轻量级的任务,它们之间的通信和转换只需要较小的系统开销。 Java支持多线程编程,因此用Java编写的应用程序可以同时执行多个任务。Java的多线程机制使用起来非常方便,用户只需关注程序细节的实现,而不用担心后台的多任务系统。 Java语言里,线程表现为线程类。Thread线程类封装了所有需要的线程操作控制。在设计程序时,必须很清晰地区分开线程对象和运行线程,可以将线程对象看作是运行线程的控制面板。在线程对象里有很多方法来控制一个线程是否运行,睡眠,挂起或停止。线程类是控制线程行为的唯一的手段。一旦一个Java程序启动后,就已经有一个线程在运行。可通过调用Thread.currentThread方法来查看当前运行的是哪一个线程。 class ThreadTest{ public static void main(String args[]){ Thread t = Thread.currentThread(); t.setName("单线程"); //对线程取名为"单线程" t.setPriority(8); //设置线程优先级为8,最高为10,最低为1,默认为5 System.out.println("The running thread: " + t); // 显示线程信息 try{ for(int i=0;i<3;i++){ System.out.println("Sleep time " + i); Thread.sleep(100); // 睡眠100毫秒 } }catch(InterruptedException e){// 捕获异常 System.out.println("thread has wrong"); } }}多线程的实现方法继承Thread类可通过继承Thread类并重写其中的run()方法来定义线程体以实现线程的具体行为,然后创建该子类的对象以创建线程。在继承Thread类的子类ThreadSubclassName中重写run()方法来定义线程体的一般格式为: public class ThreadSubclassName extends Thread{ public ThreadSubclassName(){ ..... // 编写子类的构造方法,可缺省 }public void run(){ ..... // 编写自己的线程代码 }}用定义的线程子类ThreadSubclassName创建线程对象的一般格式为: ThreadSubclassName ThreadObject = new ThreadSubclassName();然后,就可启动该线程对象表示的线程: ThreadObject.start(); //启动线程 应用继承类Thread的方法实现多线程的程序。本程序创建了三个单独的线程,它们分别打印自己的“Hello World!”。 class ThreadDemo extends Thread{ private String whoami; private int delay; public ThreadDemo(String s,int d){ whoami=s; delay=d; } public void run(){try{ sleep(delay); }catch(InterruptedException e){ } System.out.println("Hello World!" + whoami + " " + delay); } } public class MultiThread{ public static void main(String args[]){ ThreadDemo t1,t2,t3; t1 = new ThreadDemo("Thread1", (int)(Math.random()*2000));t2 = new ThreadDemo("Thread2", (int)(Math.random()*2000)); t3 = new ThreadDemo("Thread3", (int)(Math.random()*2000)); t1.start(); t2.start(); t3.start(); }}实现Runnable接口编写多线程程序的另一种的方法是实现Runnable接口。在一个类中实现Runnable接口(以后称实现Runnable接口的类为Runnable类),并在该类中定义run()方法,然后用带有Runnable参数的Thread类构造方法创建线程。创建线程对象可用下面的两个步骤来完成:(1)生成Runnable类ClassName的对象 ClassName RunnableObject = new ClassName();(2)用带有Runnable参数的Thread类构造方法创建线程对象。新创建的线程的指针将指向Runnable类的实例。用该Runnable类的实例为线程提供 run()方法---线程体。 Thread ThreadObject = new Thread(RunnableObject);然后,就可启动线程对象ThreadObject表示的线程:ThreadObject.start();在Thread类中带有Runnable接口的构造方法有: public Thread(Runnable target); public Thread(Runnable target, String name); public Thread(String name);public Thread(ThreadGroup group,Runnable target); public Thread(ThreadGroup group,Runnable target, String name); 其中,参数Runnable target表示该线程执行时运行target的run()方法,String name以指定名字构造线程,ThreadGroup group表示创建线程组。用Runnable接口实现的多线程。class TwoThread implements Runnable{ TwoThread(){ Thread t1 = Thread.currentThread(); t1.setName("第一主线程"); System.out.println("正在运行的线程: " + t1); Thread t2 = new Thread(this,"第二线程"); System.out.println("创建第二线程"); t2.start(); try{ System.out.println("第一线程休眠"); Thread.sleep(3000); }catch(InterruptedException e){System.out.println("第一线程有错"); } System.out.println("第一线程退出"); } public void run(){ try{ for(int i = 0;i < 5;i++){ System.out.println(“第二线程的休眠时间:” + i); Thread.sleep(1000); } }catch(InterruptedException e){ System.out.println("线程有错"); }System.out.println("第二线程退出"); } public static void main(String args[]){ new TwoThread(); }}程序运行结果如下:正在运行的线程: Thread[第一主线程,5,main创建第二线程第一线程休眠第二线程的休眠时间:0第二线程的休眠时间:1第二线程的休眠时间:2第一线程退出第二线程的休眠时间:3第二线程的休眠时间:4第二线程退出至于一个处理器同时处理多个程序,其实不是同时运行多个程序的,简单的说,如果是单核的CPU,在运行多个程序的时候其实是每个程序轮流占用CPU的,只是每个程序占用的时间很短,所以我们人为的感觉是“同时”运行多个程序。
2023-08-03 07:31:283

windows权限的三个设计

说到Windows XP的权限,就不能不说说"安全标识符"(Security Identifier,SID)、"访问控制列表"(Access Control List,ACL)和安全主体(Security Principal)这三个与其息息相关的设计了。 安全标识符在Windows XP中,系统是通过SID对用户进行识别的,而不是很多用户认为的"用户名称"。SID可以应用于系统内的所有用户、组、服务或计算机,因为SID是一个具有惟一性、绝对不会重复产生的数值,所以,在删除了一个账户(如名为"A"的账户)后,再次创建这个"A"账户时,前一个A与后一个A账户的SID是不相同的。这种设计使得账户的权限得到了最基础的保护,盗用权限的情况也就彻底杜绝了。查看用户、组、服务或计算机的SID值,可以使用 "Whoami"工具来执行,该工具包含在Windows XP安装光盘的"SupportTools"目录中,双击执行该目录下的"Setup"文件后,将会有包括Whoami工具在内的一系列命令行工具拷贝到"X:Program FilesSupport Tools"目录中。此后在任意一个命令提示符窗口中都可以执行"Whoami /all"命令来查看当前用户的全部信息。 访问控制列表是权限的核心技术。顾名思义,这是一个权限列表,用于定义特定用户对某个资源的访问权限,实际上这就是Windows XP对资源进行保护时所使用的一个标准。在访问控制列表中,每一个用户或用户组都对应一组访问控制项(Access Control Entry,ACE),这一点只需在"组或用户名称"列表中选择不同的用户或组时,通过下方的权限列表设置项是不同的这一点就可以看出来。显然,所有用户或用户组的权限访问设置都将会在这里被存储下来,并允许随时被有权限进行修改的用户进行调整,如取消某个用户对某个资源的"写入"权限。 在Windows XP中,可以将用户、用户组、计算机或服务都看成是一个安全主体,每个安全主体都拥有相对应的账户名称和SID。根据系统架构的不同,账户的管理方式也有所不同──本地账户被本地的SAM管理;域的账户则会被活动目录进行管理......一般来说,权限的指派过程实际上就是为某个资源指定安全主体(即用户、用户组等)可以拥有怎样的操作过程。因为用户组包括多个用户,所以大多数情况下,为资源指派权限时建议使用用户组来完成,这样可以非常方便地完成统一管理。
2023-08-03 07:31:421

Linux命令行执行root权限的命令

命令前加上sudo就行了。
2023-08-03 07:31:586

如何查看当前linux是不是root用户

输入id就可以知道了
2023-08-03 07:32:355

linux常用的命令有哪些

1.1pwd命令该命令的英文解释为printworkingdirectory(打印工作目录)。输入pwd命令,Linux会输出当前目录。1.2cd命令cd命令用来改变所在目录。cd/转到根目录中cd~转到/home/user用户目录下cd/usr转到根目录下的usr目录中-------------绝对路径cdtest转到当前目录下的test子目录中-------相对路径1.3ls命令ls命令用来查看目录的内容。选项含义-a列举目录中的全部文件,包括隐藏文件-l列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等-f列举的文件显示文件类型-r逆向,从后向前地列举目录中内容-R递归,该选项递归地列举当前目录下所有子目录内的内容-s大小,按文件大小排序-h以人类可读的方式显示文件的大小,如用K、M、G作单位ls-lexamples.doc列举文件examples.doc的所有信息1.4cat命令cat命令可以用来合并文件,也可以用来在屏幕上显示整个文件的内容。catsnow.txt该命令显示文件snow.txt的内容,ctrl+D退出cat。1.5grep命令grep命令的最大功能是在一堆文件中查找一个特定的字符串。grepmoneytest.txt以上命令在test.txt中查找money这个字符串,grep查找是区分大小写的。1.6touch命令touch命令用来创建新文件,他可以创建一个空白的文件,可以在其中添加文本和数据。touchnewfile该命令创建一个名为newfile的空白文件。1.7cp命令cp命令用来拷贝文件,要复制文件,输入命令:cp<sourcefilename><targetfilename>cpt.txtDocument/t该命令将把文件t.txt复制到Document目录下,并命名为t。选项含义-i互动:如果文件将覆盖目标中的文件,他会提示确认-r递归:这个选项会复制整个目录树、子目录以及其他-v详细:显示文件的复制进度1.8mv命令mv命令用来移动文件。选项说明-i互动:如果选择的文件会覆盖目标中的文件,他会提示确认-f强制:它会超越互动模式,不提示地移动文件,属于很危险的选项-v详细:显示文件的移动进度mvt.txtDocument把文件t.txt移动到目录Document中。1.9rm命令rm命令用来删除文件。选项说明-i互动:提示确认删除-f强制:代替互动模式,不提示确认删除-v详细:显示文件的删除进度-r递归:将删除某个目录以及其中所有的文件和子目录rmt.txt该命令删除文件t.txt1.10rmdir命令rmdir命令用来删除目录。
2023-08-03 07:33:032

苹果笔记本用户名为什么更改不了?

是可以更改的Mac 修改用户是一件很悲剧的事,因为牵涉到很多地方的修改,当然,如果只是需要满足登陆用户名的修改的话,就比较简单。而如果需要将某个用户在每一个地方显示的名字都改掉的话,就要修改不是地方了,下面就来讲讲如何修改Mac电脑的用户名:1、当你打开 Terminal(终端),你会看到如下显示:前面的 zyy-iMac 就是你电脑的名称,如果是你自己的电脑而显示别人的名称,你当然会不爽啦。2、修改电脑名称打开 "系统偏好设置" -> “共享”,如下图(先不管用户和群组):3、然后改成你自己的电脑名称即可.4、现在我们来修改电脑用户名点击“系统偏好设置” -> “用户和群组” ,然后在弹窗中选中要修改的用户名,按照下图做修改。5、对该用户解锁,以获得更多的操作。6、用户名上右键选择“高级选项”7、将账户名和个人目录改成自己的用户名即可8、到现在,所有的修改都已完成,重启Mac。然后在 Terminal (终端)里面输入 who 可以看到用户名已经改成你的了,如果要查看当前用户名 可以执行 whoami 命令。另外就是新建一个用户名,把之前的用户名删除即可。
2023-08-03 07:33:111

linux开机自启动,如何跳过开机动画

某个程序方便后续的管理;那么我们如何在开机时候,运行此账户安装的程序呢?例如:以linux下指定mycount用户在linux开机时执行/home/sun/startXX.sh为例:以root登录linux执行vi /etc/rc.d/rc.local在文档末尾添加一行语句:su – mycount -c “/home/sun/startXX.sh”保存rc.local即可。这个地方一定要注意 su – 这个是环境的变量也会做相应的转换;如果环境变量没有改变的话,我们用su 就可以了。二、在Linux中以普通用户开机自动运行脚本程序测试环境:CentOS6.5管理员:root普通用户:test1实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:from datetime import datetimenow=datetime.now()f=open(‘test.log","a")f.write(‘%s ‘%now)f.close()Linux在启动时,会自动执行/etc/rc.d目录下的初始化程序,因此我们可以把启动任务放到该目录下,有两种办法:方案一:1、因为其中的rc.local是在完成所有初始化之后执行,因此我们可以把启动脚本写到里面2、用root账号登陆Linux,vi /etc/rc.d/rc.local编辑文件,在最后加入两行需要执行的脚本程序:cd /home/test1 –该步不可少,否则会提示没有权限打开"test.log"文件su test1 -c “python /home/test1/test.py” –把要执行的命令作为一个参数传递级su方案二:1、init.d目录下都为可执行程序,他们其实是服务脚本,按照一定格式编写,Linux 在启动时会自动执行,类似Windows下的服务2、用root帐号登录,vi /etc/rc.d/init.d/mystart,追加如下内容:复制代码#!/bin/bash#chkconfig:2345 80 05 –指定在哪几个级别执行,0一般指关机,6指的是重启,其他为正常启动。80为启动的优先级,05为关闭的优先机#description:mystart serviceRETVAL=0start(){ –启动服务的入口函数echo -n “mystart serive …”cd /home/test1su test1 -c “python /home/test1/test.py”}stop(){ –关闭服务的入口函数echo “mystart service is stoped…”}case $1 in –使用case,可以进行交互式操作start)start;;stop)stop;;esacexit $RETVAL复制代码3、运行chmod +r /etc/rc.d/init.d/mystart,使之可直接执行4、运行chkconfig –add mystart,把该服务添加到配置当中5、运行chkconfig –list mystart,可以查看该服务进程的状态总结:两种方案的的核心都是切换用户到test1,然后执行命令启动Python程序,做成服务的好处是可以定义多个交互命令,比如:start,stop,restart,reset…,在服务运行的过程中还可以做相应操作。最开始的时候,我按照一般的思路写了如下脚本,却怎么也执行不了:su test1 –切换到test1用户cd /home/test1 –切换到根目录python test.py –执行python程序exit –退出test1帐号看起来好象一切都没错,但是发现只运行了第一行的命令,后面的都没有运行,直到退出test1用户后才发现好象执行完毕。分析原因,是因为Linux启动的时候是在root帐号下,执行su test1等于打开了一个新的shell脚本,因此下面的代码都在等着新的Shell脚本结束才能运行,就象在主程序里调用了一个子程序,而子程序是个死循环,一下出来来结果下面的要等死了。知道了发生的原因,那么解决的办法就相对简单了,就是在执行上述脚本程序时,不要离开本身的Shell。我们可以把执行命令做为su的一个参数传递进去,因为没有涉及到打开新的Shell,因此可以正常执行你期望的脚本程序,顺利实现开机自动启动指定的脚本程序。执行方案中重要的一个命令是:[root@localhost ~]# whoamiroot[root@localhost ~]# su – keysystem -c “whoami”keysystem[root@localhost ~]#以keysystem用户执行whoami的命令:[root@localhost ~]# su – keysystem -c “whoami”文章知识点与官方知识档案匹配CS入门技能树Linux入门初识Linux23840 人正在系统学习中打开CSDN,阅读体验更佳Linux中没有rc.local文件的完美解决方法主要介绍了Linux中没有rc.local文件的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下最新发布 linux 开机自启用非root启动就会用djq用户执行mkdir -p /home/djq/222命令。linux 开机自启用非root启动。继续访问linux开机自动执行命令或自动启动程序(rc.local)linux开机的最后会执行/etc/rc.local,因此可以在此脚本里面添加shell命令自动执行或者自动启动某个进程。 比如 自动输出信息: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In继续访问跳过网络启动 linux,Linux启动时如何跳过fsck在Linux里,如果一个文件系统被mount过一定次数后,或者距离上次fsck超过一定天数,当系统重起时就会自动fsck。根据文件系统的大小,fsck可能需要几分钟甚至几个小时。隔一段时间作一次fsck是很有必要的,但是如果你不想花费时间fsck,你也可以用如下几种方法跳过fsck:1. 修改/etc/fstab在/etc/fstab里, 最后一列是系统启动时fsck的顺序。 文件系统 / 应该设...继续访问linux 查看root 进程,Linux查看非root运行的进程Linux查看非root运行的进程youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -NPID TTY TIME CMD663 ? 00:00:00 dbus-daemon713 ? 00:00:00 rsyslogd730 ? 00:00:00 avahi-da...继续访问linux上使用非root账户启动运行java程序事情是这样的、、、、、、、 公司的app后台程序是java的,在linux上运行时要求必须使用非root账户,例如使用app用户启动java程序。这次运维有事请假了,所以这个小任务就交给我了,多大的事情啊,这还不是分分钟搞定的啊。 好了一步步的开始。 第一步:创建mobile账户和组 groupadd app useradd -d /usr/app -g app app 第二步:搭建...继续访问linux用其他账号停进程,Linux系统上对其他用户隐藏进程的简单方法我使用的是多用户系统,大部分的用户通过ssh客户端访问他们的资源。我如何(怎么样)避免泄露进程信息给他们?如何(怎么样)在Debian/Ubuntu/RHEL/CentOS linux服务器器上阻止/避免他们看到不属于他们的进程?对linux上的其他用户隐藏进程的方法解决方法/方案:如果你使用的linux kernel(内核)是3.2以上的版本(或者使用的RHEL/CentOS是6.5以上的版本)...继续访问转:linux开机自动运行 实现目标:在Linux启动时,自动运行位于普通用户test1根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志文件追加一条记录,源码如下:   from datetime import datetime   now=datetime.now()   f=open("test.log","a")   f.write("%s "%now...继续访问跳过开机向导跳过开机向导继续访问linux系统rc.local错误,Linux开机启动文件rc.local无法执行的解决方法众所周知,rc.local是Linux系统中的一个重要的开机启动文件,每次开机都要执行这个文件。但最近很多用户表示系统无法执行这个问题件,从而导致了一系列的问题出现,这是怎么回事呢?如何解决这个问题呢?下面,跟随小编一起来看看Linux开机启动文件rc.local无法执行的解决方法。Linux系统在Linux系统中,有一个重要的开机自动启动脚本文件:/etc/rc.local---》/etc/rc...继续访问rc.local出错影响ubuntu正常启动,跳过执行rc.local通过进入单用户模式,跳过rc.local继续访问Linux开机启动,设置rc.local失效解决方案在/etc/rc.local文件夹下,添加要执行的命令,如/sbin/ifconfig docker0 mtu 1454 注意这里要使用绝对路径/sbin/ifconfig 如果开机发现执行失败,则需要在上一行添加sleep 10 由于ifconfig服务不一定在rc.local之前启动,所以让系统等待十秒hours在执行sleep 10 /sbin/ifconfig docker0 mtu 14继续访问Linux系统跳过密码登录一、引导系统 RHEL7的标准引导系统是GRUB2,RHEL6默认使用GRUB1,这里主要讲GRUB2。 在Linux系统开机选择内核时,按下e进入内核引导参数的编辑菜单,找到以linux16开头的一行,在行末添加更多的命令。例如,在行末尾添加system.unit=emergency.target,然后按Ctrl+X,则系统将会以紧急目标模式启动。 如果在系统引导到GUI环境中出现问题,可以在内核命令行末尾加入system.unit=multi-user.target,若引导成功,则会登录到命令行模继续访问rc.local使用非root用户su -aaa-c "/data/tomcat/bin/startup.sh"继续访问Linux设置非root用户启动程序Linux设置非root用户启动程序继续访问开机自启动非root用户的服务设置非root用户的服务开机自启动 比如:chkconfig mysql on 是无效的 可以这样设置: 在root用户下 vi /etc/rc.local 或者 vi /etc/rc.d/rc.local 在最后一行加上 su - mysqladmin -c "/usr/local/mysql/startMysql.sh" 其中mysqladmin是管理mysql的用户, "/usr/loc...继续访问linux非root用户打开80,Linux非root用户如何使用80端口启动程序默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常。bind时perror提示错误信息:permission denied解决办法有两种:1.使用非80端口启动程序,然后再用iptables...继续访问Linux在任意目录下执行指定的脚本前言 我有个脚本,我只能在脚本所在的文件夹下面运行,这样的话很不方便,如果我去了别的目录下面的话,我就无法运行这个脚本了… 解决 在profile中设置PATH, 假如我想给 xcall 脚本设置能让在任意的目录下去运行, 此时xcall在/root/soft/script 目录下. 编辑环境变量 [root@zjj101 etc]# cd /etc [root@zjj101 etc]# vim profile # 上面省略........ export HIVE_HOME=/root/soft/hive继续访问Linux系统启动过程分析经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究。这当中就包括系统的启动流程、文件系统的组成结构、基于动态库和静态库的程序在执行时的异同、协议栈的架构和原理、驱动程序的机制等等。 本人在综合了现有网上大家智慧的基础上,结合对2.6.32的内核代码的研读,基于CentOS 6.0系统对Linux的启动流程做了些分析。由于才疏学浅,知...继续访问linux跳过开机启动项
2023-08-03 07:33:191

linux必学的命令是什么?

前言第1章 Linux命令行简介 / 11.1Linux命令行概述 / 11.2在Linux命令行下查看命令帮助 / 41.3Linux shutdown reboot halt / 9关机:shutdown -h nowhaltinit 0第2章 文件和目录操作命令 / 132.1pwd:显示当前所在的位置 / 132.2cd:切换目录 / 162.3tree:以树形结构显示目录下的内容 / 182.4mkdir:创建目录 / 222.5touch:创建空文件或改变文件的时间戳属性 / 272.6ls:显示目录下的内容及相关属性信息 / 302.7cp:复制文件或目录 / 392.8mv:移动或重命名文件 / 422.9rm:删除文件或目录 / 452.10rmdir:删除空目录 / 482.11ln:硬链接与软链接 / 492.12readlink:查看符号链接文件的内容 / 542.13find:查找目录下的文件 / 552.14xargs:将标准输入转换成命令行参数 / 682.15rename:重命名文件 / 712.16basename:显示文件名或目录名 / 722.17dirname:显示文件或目录路径 / 722.18chattr:改变文件的扩展属性 / 732.19lsattr:查看文件扩展属性 / 752.20file:显示文件的类型 / 762.21md5sum:计算和校验文件的MD5值 / 772.22chown:改变文件或目录的用户和用户组 / 802.23chmod:改变文件或目录权限 / 812.24chgrp:更改文件用户组 / 852.25umask:显示或设置权限掩码 / 862.26老男孩从新手成为技术大牛的心法 / 90第3章 文件过滤及内容编辑处理命令 / 913.1cat:合并文件或查看文件内容 / 913.2tac:反向显示文件内容 / 1033.3more:分页显示文件内容 / 1043.4less:分页显示文件内容 / 1073.5head:显示文件内容头部 / 1093.6tail:显示文件内容尾部 / 1113.7tailf:跟踪日志文件 / 1143.8cut:从文本中提取一段文字并输出 / 1153.9split:分割文件 / 1173.10paste:合并文件 / 1183.11sort:文本排序 / 1233.12join:按两个文件的相同字段合并 / 1273.13uniq:去除重复行 / 1293.14wc:统计文件的行数、单词数或字节数 / 1313.15iconv:转换文件的编码格式 / 1333.16dos2unix:将DOS格式文件转换成UNIX格式 / 1343.17diff:比较两个文件的不同 / 1353.18vimdiff:可视化比较工具 / 1383.19rev:反向输出文件内容 / 1393.20tr:替换或删除字符 / 1403.21od:按不同进制显示文件 / 1433.22tee:多重定向 / 1453.23vi/vim:纯文本编辑器 / 1473.24老男孩逆袭思想:做Linux运维的多个好处 / 152第4章 文本处理三剑客 / 1534.1grep:文本过滤工具 / 1534.2sed:字符流编辑器 / 1594.3awk基础入门 / 165第5章 Linux信息显示与搜索文件命令 / 1765.1uname:显示系统信息 / 1765.2hostname:显示或设置系统的主机名 / 1785.3dmesg:系统启动异常诊断 / 1795.4stat:显示文件或文件系统状态 / 1815.5du:统计磁盘空间使用情况 / 1835.6date:显示与设置系统时间 / 1865.7echo:显示一行文本 / 1905.8watch:监视命令执行情况 / 1935.9which:显示命令的全路径 / 1955.10whereis:显示命令及其相关文件全路径 / 1965.11locate:快速定位文件路径 / 1975.12updatedb:更新mlocate数据库 / 1995.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200第6章 文件备份与压缩命令 / 2016.1tar:打包备份 / 2016.2gzip:压缩或解压文件 / 2086.3zip:打包和压缩文件 / 2116.4unzip:解压zip文件 / 2126.5scp:远程文件复制 / 2146.6rsync:文件同步工具 / 2166.7老男孩逆袭思想:新手如何高效地提问 / 220第7章 Linux用户管理及用户信息查询命令 / 2227.1 useradd:创建用户 / 2227.2usermod:修改用户信息 / 2277.3userdel:删除用户 / 2297.4groupadd:创建新的用户组 / 2307.5groupdel:删除用户组 / 2317.6passwd:修改用户密码 / 2327.7chage:修改用户密码有效期 / 2377.8chpasswd:批量更新用户密码 / 2387.9su:切换用户 / 2407.10visudo:编辑sudoers文件 / 2427.11sudo:以另一个用户身份执行命令 / 2447.12id:显示用户与用户组的信息 / 2487.13w:显示已登录用户信息 / 2497.14who:显示已登录用户信息 / 2507.15users:显示已登录用户 / 2527.16whoami:显示当前登录的用户名 / 2537.17last:显示用户登录列表 / 2537.18lastb:显示用户登录失败的记录 / 2547.19lastlog:显示所有用户的最近登录记录 / 255第8章 Linux磁盘与文件系统管理命令 / 2578.1fdisk:磁盘分区工具 / 2578.2partprobe:更新内核的硬盘分区表信息 / 2658.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 2668.4parted:磁盘分区工具 / 2688.5mkfs:创建Linux文件系统 / 2728.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 2748.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 2758.8fsck:检查并修复Linux文件系统 / 2788.9dd:转换或复制文件 / 2818.10mount:挂载文件系统 / 2848.11umount:卸载文件系统 / 2888.12df:报告文件系统磁盘空间的使用情况 / 2898.13mkswap:创建交换分区 / 2938.14swapon:激活交换分区 / 2948.15swapoff:关闭交换分区 / 2958.16sync:刷新文件系统缓冲区 / 296第9章 Linux进程管理命令 / 2989.1ps:查看进程 / 2989.2pstree:显示进程状态树 / 3059.3pgrep:查找匹配条件的进程 / 3069.4kill:终止进程 / 3079.5killall:通过进程名终止进程 / 3109.6pkill:通过进程名终止进程 / 3119.7top:实时显示系统中各个进程的资源占用状况 / 3139.8nice:调整程序运行时的优先级 / 3209.9renice:调整运行中的进程的优先级 / 3239.10nohup:用户退出系统进程继续工作 / 3249.11strace:跟踪进程的系统调用 / 3259.12ltrace:跟踪进程调用库函数 / 3329.13runlevel:输出当前运行级别 / 3349.14init:初始化Linux进程 / 3359.15service:管理系统服务 / 335第10章 Linux网络管理命令 / 33810.1ifconfig:配置或显示网络接口信息 / 33810.2ifup:激活网络接口 / 343ifup eth010.3ifdown:禁用网络接口 / 343ifdown eth0service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。10.4route:显示或管理路由表 / 34410.5arp:管理系统的arp缓存 / 35010.6ip:网络配置工具 / 35110.7netstat:查看网络状态 / 35810.8ss:查看网络状态 / 36210.9ping:测试主机之间网络的连通性 / 36310.10traceroute:追踪数据传输路由状况 / 36610.11arping:发送arp请求 / 36710.12telnet:远程登录主机 / 36910.13nc:多功能网络工具 / 37010.14ssh:安全地远程登录主机 / 37310.15wget:命令行下载工具 / 37610.16mailq:显示邮件传输队列 / 37910.17mail:发送和接收邮件 / 38110.18nslookup:域名查询工具 / 38610.19dig:域名查询工具 / 38910.20host:域名查询工具 / 39310.21nmap:网络探测工具和安全/端口扫描器 / 39410.22tcpdump:监听网络流量 / 398第11章 Linux系统管理命令 / 40711.1lsof:查看进程打开的文件 / 40711.2uptime:显示系统的运行时间及负载 / 41111.3free:查看系统内存信息 / 41111.4iftop:动态显示网络接口流量信息 / 41311.5vmstat:虚拟内存统计 / 41511.6mpstat:CPU信息统计 / 41911.7iostat:I/O信息统计 / 42011.8iotop:动态显示磁盘I/O统计信息 / 42311.9sar:收集系统信息 / 42511.10chkconfig:管理开机服务 / 43011.11ntsysv:管理开机服务 / 43311.12 setup:系统管理工具 / 43411.13ethtool:查询网卡参数 / 43611.14mii-tool:管理网络接口的状态 / 43711.19rpm:RPM包管理器 / 44311.20yum:自动化RPM包管理工具 / 446top命令第12章 Linux系统常用内置命令 / 45012.1Linux内置命令概述 / 45012.2Linux内置命令简介 / 45012.3Linux常用内置命令实例 / 452Linux运维人员必会的120个命令跟老男孩学Linux运维:核心系统命令实战
2023-08-03 07:33:272

在linux下编写shell脚本,判断当前登录用户是否为学号命名的用户

#!/bin/bashid="123"[ `whoami` = "$id" ] && echo "yes" || echo "no"
2023-08-03 07:33:462

Linux查看用户

通过使用 /etc/passwd 文件,getent 命令,compgen 命令这三种方法查看系统中用户的信息。Linux 系统中用户信息存放在 /etc/passwd 文件中。这是一个包含每个用户基本信息的文本文件。当我们在系统中创建一个用户,新用户的详细信息就会被添加到这个文件中。/etc/passwd 文件将每个用户的基本信息记录为文件中的一行,一行中包含 7 个字段。/etc/passwd 文件的一行代表一个单独的用户。该文件将用户的信息分为 3 个部分。getent 命令显示 Name Service Switch 库支持的数据库中的条目。这些库的配置文件为 /etc/nsswitch.conf。getent 命令显示类似于 /etc/passwd 文件的用户详细信息,它将每个用户详细信息显示为包含七个字段的单行。compgen 是 bash 的内置命令,它将显示所有可用的命令,别名和函数。可查看“Linux命令大全”查找命令介绍。
2023-08-03 07:34:525

Linux 命令大全

linux上可用的命令分别是在/usr/bin,/usr/sbin,/bin,/sbin这些目录当中,可以用man命令查看每一个命令的使用手册,用man查出来的,是最靠谱
2023-08-03 07:35:102

如何查看oracle sid

如果是在linux环境下,直接用命令就可以查看 echo $ORACLE_SID
2023-08-03 07:35:183

怎么跳过电脑开机密码,系统是Windows7旗舰版,玩过不让别人看出来

1,首先进入Windows错误恢复界面,选择启动修复(推荐)方法:启动电脑后显示Windows国旗的登录界面,按切换键关机的主机(掌握关机时间是否成功的关键),手动引起异常关闭,然后启动就会出现这样的一个接口。2.进入“开始修复”界面后,会自动“尝试修复”。这里需要几分钟,请稍等,如图所示。3.扫描完成后,弹出一个小窗口[开始修复]界面。选择“查看问题详情”,然后按下滚动条找到“如果您无法获得在线隐私声明,请离线阅读我们的隐私声明”,并点击下面的链接。4.在弹出的[erofflps-notepad]中,单击“file”打开文件,或者使用组合键Ctrl+O打开文件,如图所示。5.在弹出的“打开”窗口中,打开“计算机”并选择Cdisk—Windows—System32。在“文件类型”窗口下,选择“所有文件”。6、选择“所有文件”类型后,在列表中找到“Utilman”,右击“rename”为“Utilman1”,然后继续在列表中找到“CMD”,右击“rename”为“Utilman”,如图所示。7.更改名称后,关闭“打开窗口”—“erofflps—记事本”—“启动修复”窗口。然后在最后一个窗口中点击“取消”而不是“完成”,电脑将自动重启,如下图。8.重启后,点击登录界面左下角的“小按钮”,弹出“CMD”操作命令,如下图。9.在CMD窗口中,输入以下操作命令。Whoami(点击进入);网用户((点击进入);Net用户*(单击enter);Net用户管理员*(单击enter);请注意,“管理员”是您的登录帐户
2023-08-03 07:36:361

TRCNG出生于哪里

TRCNGTRCNG是TSEntertainment于2017年10月10日推出的韩国男子演唱组合,由金智训、崔荷莹、李学_、金志星、金炫佑、刘始遇、李镐县、金冈玟8位成员组成。2017年10月,凭借首张迷你专辑《NEWGENERATION》正式出道。2018年1月,发行首张单曲专辑《WHOAMI》;4月,发行首张日语单曲《Spectrum》;7月,发行第二张日语单曲《GameChanger》;12月,为网络剧《LoveYourGlow》演唱插曲;同年,获得第13届ANNUALSOOMPIAWARDS年度新人奖的提名。2019年8月,发行第二张迷你专辑《RISING》。外文名:TRCNG别名:_____职业:歌手经纪公司:TSEntertainment代表作品:Spectrum、WOLFBABY出道日期:2017年10月10日演艺经历2017年9月19日,TS娱乐宣布组合名正式确定为TRCNG;10月10日,发行首张迷你专辑《NEWGENERATION》,正式出道,该专辑共收录了包括主打曲《Spectrum》在内的6首歌曲。2018年1月2日,发行首张单曲专辑《WHOAMI》;同日,在首尔YES24LiveHall举行ShowCase;4月4日,发行首张日语单曲《Spectrum》;7月25日,发行第二张日语单曲《GameChanger》;12月5日,为网络剧《LoveYourGlow》演唱插曲《WayYouAre》;同年,获得了第13届ANNUALSOOMPIAWARDS年度新人奖的提名。2019年8月13日,发行第二张迷你专辑《RISING》,该专辑共收录了4首歌曲;11月18日,成员梁泰宣和赵_叶提出终止合约诉讼,TRCNG以八人体制继续活动。主要作品音乐作品综艺节目杂志写真获奖记录人物评价首次参加日本活动的TRCNG展现了令观众难以置信实力,他们的力量感和可爱感共存,身上的趣味性很突出,在舞台上,他们可以以爆发性的能量和群舞展现实力,营造出非常热烈的气氛。TRCNG身上带一种他们特有的开朗和能量,为观众展现着霸气、舒畅、轻快节奏的舞蹈。无论是俊秀的外貌还是表演能力,TRCNG都散发着清爽的魅力,让粉丝充满了期待。TRCNG就像第二张迷你专辑的名字一样,通过多样的活动让自己的梦想飞翔着。(thefirstmedia、东亚体育、首尔体育综合评)
2023-08-03 07:37:411