首页 > 系统相关 >Course overview + the shell

Course overview + the shell

时间:2024-12-22 13:33:35浏览次数:4  
标签:echo shell overview cat Course 权限 file txt 目录

Course overview + the shell

Shell的实质

Shell本是一个类似于Pyhton的编程环境,包括变量、条件、循环、函数...

在执行Shell命令时,若不是Shell所规定的关键字时,便会去$PATH中查询,基于名字搜索,搜索到了之后便会执行该程序

$PATH:环境变量

查看$PATH

echo $PATH


每一个$PATH环境用:分隔

查看某程序所属$PATH,以echo为例

which echo


此时可以看到echo属于/usr/bin/这个环境变量

知道了程序的绝对路径可以绕过$PATH直接执行

/usr/bin/echo "Hello world"

路径

  • 绝对路径
    /开头的就是绝对路径,他是一个文件的完整名称
    上一小节的/usr/bin/echo就是一个绝对路径

查看当前目录的绝对路径

pwd

  • 相对路径
    相对路径就是相对于当前目录的路径

当我处于/home/learn目录中时,使用ls命令查看当前目录的内容

ls

此时我可以直接进入或使用文件,而不是使用绝对路径

cat /home/learn/last-modified.txt  //绝对路径

cat last-modified.txt //相对路径

在路径中,.代表当前目录,..代表上一级目录

退出到上一级目录

cd ..

文件操作

  • 复制
    例:
    file复制到/tmp目录中
cp file /tmp
  • 移动
    例:
    file移动到/tmp
mv file /tmp
  • 重命名
    例:
    file重命名为filename
mv file filename
  • 创建目录
    例:
    创建一个名为dic的目录
mkdir dic
  • 创建文件
    例:
    创建一个file文件
touch file

权限

查看当前目录下所有文件或目录权限

ls -l

Desktop目录为例

drwxr-xr-x 3 learn learn 4096 Nov 13 12:06 Desktop

以空格为分隔符,第一组就是该文件或目录的权限

第一个d代表类型为目录

后面九个字符,每三个一组,都按rwx的顺序排列
r:读取,w:写入,x:可执行
-则代表不具备该权限

第一组代表所属用户权限
第二组代表所属组权限
第三组代表其他用户权限

中间的两个learn代表所属用户和所属组

分析上述Desktop目录的权限

  • 是一个目录
  • 所属用户具有读取、写入、执行权限
  • 所属组具备读取、执行,但不具备执行权限
  • 其他用户具备读取、执行,但不具备执行权限

man

如果想了解一个程序的具体使用方法可以使用man程序

man ls

列出了使用语法及其配套参数

输入输出流

输入流:< file
输出流:> file

输出流
将原本输出到屏幕上的内容,输出到file.txt

echo "Hello world" > file.txt

还有一种>>的输出方式
>是直接覆盖
>>是追加

输入流
使用输入流读取文档

cat < file.txt

cat file.txt和cat < file.txt的区别

cat file.txtcatfile.txt作为参数,直接输出其内容

cat < file.txt是由shell先打开,并将其内容重定向到cat的标准输入(stdin)

相比cat file.txtcat < file.txt多了一步由shell打开

管道符(pipes)

将管道符左边的输出,作为管道符右边的输入

ls -l | tail -n1

分解命令
管道符左边打印当前目录下文件的详细信息
管道符右边取最后一行

组合命令
得到当前目录下最后一个文件的详细信息

Root

root用户,就是超级用户,相当于Windows中的Administrator
可以创建,修改,删除任何文件

日常使用中一般不会直接使用root用户,而是使用sudo

apt-get update

使用这条命令时,提示我不能打开一些文件

当我使用sudo配上这条命令,就拥有了root用户的权限,即可执行这条命令

sudo apt-get update

登录root用户

su root

第一次登录root用户时不需要登陆密码
登陆成功后使用passwd命令设置密码

原文章:http://www.ming-ice-tea.top/?p=26

标签:echo,shell,overview,cat,Course,权限,file,txt,目录
From: https://www.cnblogs.com/mingchaobinghongcha/p/18621603

相关文章

  • Shell Script
    ShellScript赋值操作foo=barecho$foo注意:不要使用空格分开shell将会把foo当作一个程序转义Bash通过使用''和""来定义字符串""会将字符串中的变量转义echo"Stringis$foo"''会将字符串中的变量原样输出echo'Stringis$foo'函数函数内容:创建一个目录并......
  • shell脚本
    #!指定要使用的shell/bin/sh执行过程中,若出现命令执行失败,则会立即停止执行/bin/bash执行过程中,若出现命令执行失败,仍会继续执行若不指定解释器,系统会默认使用/bin/bash如果使用的语法只有bash能解析,就必须加上#!静态修改IP脚本#!/bin/b......
  • PowerShell 脚本的作用是通过调用 NGEN (Native Image Generator) 工具来优化 .NET 程
    $Env:PATH=[Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()[AppDomain]::CurrentDomain.GetAssemblies()|%{ $pt=$_.Location if(!$pt){continue} if($cn++){''} $na=Split-Path-Leaf$pt Write-Host-ForegroundColorY......
  • shell4
    脚本与用户交互以及if条件判断如何在shell脚本与用户交互利用readnameage指定变量信息echo$name来接收用户输入echo$age来接收用户输入这个例子可能不清晰我们利用read-p"清输入您的姓名”name输入:xiaoyuecho$name(接收用户的输入)我们再看个例子,先进入bash......
  • shell3
    向脚本程序传递参数如何实现创建一个脚本,名字为1.sh,脚本内容如下echo执行的文件名是:$0echo第一个参数是:$1echo传递的参数作为一个字符串显示:$*echo传递的参数独立作为每个字符串显示:$@echo传递到脚本的参数个数是:$#echo最后命令的退出状态:$?echo脚本运......
  • shell常用工具与脚本
    一、Shell常用工具1.grep功能:用于在文本文件中搜索指定的模式。可以是简单的字符串,也可以是复杂的正则表达式。示例:假设我们有一个名为example.txt的文件,内容如下:applebananacherry 要查找包含an的行,可以使用命令grepanexample.txt,输出结果为banana常用选......
  • PowerShell(一)
    PowerShell篇声明B站泷羽sec笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。✍......
  • 工具分享 | TPscan - 一键ThinkPHP漏洞检测getshell
    0x00工具介绍TPscan是一款基于Python3的ThinkPHP漏洞检测工具。0x01下载链接TPscan下载链接:Tpscan下载0x02功能介绍thinkphp_checkcode_time_sqli_verifythinkphp_construct_code_exec_verifythinkphp_construct_debug_rce_verifythinkphp_debug_index_ids_sqli_v......
  • Linux SSH远程连接工具FinalShell下载及基本使用
     1.FinalShell下载安装官网:FinalShell官网1.1.FinalShell软件下载1.点击官网带有系统及版本的信息行到下载地址列表页面。2.选择自我系统匹配的版本,点击下方链接进行下载。1.2.FinalShell软件安装1.下载文件为exe(finalshell_windows_x64.exe)Windows可执行文件,直接......
  • shell脚本-实现程序意外退出后自重启
    为了确保在服务器中运行的jar包项目能够自动重启,防止因为程序崩溃、机器重启、人为误操作或其他原因导致进程挂掉,我们可以编写一个脚本,定期检查该jar包是否正在运行。如果进程未启动,脚本会自动重新启动该jar包。shell脚本#!/bin/bashJAVA_HOME=/usr/local/jdk1.8.0_1......