shell命令(权限和输入输出)

一、Shell的简介

1、Shell的概述

        随着各式 Linux 系统的图形化程度的不断提高,用户在桌面环境下,通过点击、拖拽等操作就可以完成大部分的工作。然而,许多 Ubuntu Linux 功能使用 shell 命令来实现,要比使用图形界面交互,完成的更快、更直接。

        英文单词 shell 可直译为“贝壳”。“贝壳”是动物作为外在保护的一种工具。可以这样认为, Linux 中的 shell 就是 Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互

  • Shell 是一个命令行解释器,它为用户提供一个向 Linux 内核发送请求以便运行程序的界面系统级程序。用户可以用 Shell 来启动、挂起、停止、编程等操作。
  • Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
  • Shell 还是一个功能强大的编程语言、编写方面、调试方便、灵活性强。
  • Shell 是解释执行的脚本语言,在 Shell 中可以直接调用 Linux 系统命令。 

2、 Shell的分类

 3、查看当前系统的Shell

  • 查看当前系统有哪些 shell:cat /etc/shells
  • 查看当前是什么 shell:echo $SHELL

4、小试牛刀 

 1)立即关机

 linux@ubuntu:~$ sudo shutdown -h now

2) 立即重启

linux@ubuntu :~$ sudo shutdown -r now
linux@ubuntu :~$ sudo reboot now 

3) 定时关机

linux@ubuntu:~$ sudo shutdown -h +45 “That is all, game over.”

4)定时重启

linux@ubuntu:~$ sudo shutdown -r +60

二、权限相关命令

1、切换用户

        用户,又称使用者,是指使用电脑或网络服务的人,通常拥有一个用户账号,并以用户名识别。用户有时也泛指没有充分技术经验的人。
Linux 下分为:

  • 超级用户 ( 根目录、安装软件等 )
  • 普通用户

su - run a command with substitute user and group ID

  • -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令( command )后再变回原来使用者
  • - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数( HOME SHELL USER 等等)都是以该使用者( USER )为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  • --help 显示说明文件
  • --version 显示版本资讯 

2、设置用户密码 

passwd - change user password
passwd 修改自己的密码
passwd username 修改指定用户的密码

3、修改文件的权限

 -rwxrwxr-x 1 linux linux 17456 ноя 5 20:38 client

字母法: chmod (u g o a) (+ – =) (r w x) ( 文件名 )
数字法: chmod + 数字组合 + 文件名 

三、基本命令 -man

man - an interface to the system reference manuals

1、帮助信息:

  • NAME :命令的名称
  • SYNOPSIS :命令的语法格式
  • DESCRIPTION :命令的一般描述以及用途
  • OPTIONS :描述命令所有的参数或选项
  • SEE ALSO :列出联机帮助页中与该命令直接相关或功能相近的其他命令
  • BUGS :解释命令或其输出中存在的任何已知的问题或缺陷
  • EXAMPLES :普通的用法示例
  • AUTHORS :联机帮助页以及命令的作者

2、 man 的使用

  • 1 Executable programs or shell commands
  • 2 System calls (functions provided by the kernel)
  • 3 Library calls (functions within program libraries)
  • 4 Special files (usually found in /dev)
  • 5 File formats and conventions, e.g. /etc/passwd
  • 6 Games
  • 7 Miscellaneous (including macro packages and conventions), e.g.man(7), groff(7)
  • 8 System administration commands (usually only for root)
  • 9 Kernel routines [Non standard]

3、基本命令 -date

 date - print or set the system date and time

  • date +%T
  • date +%Y/%m/%d
  • date +%H:%M
  • date +" 当前时间为: %Y/%m/%d %H:%M:%S"
  • date +" 三个月之后: %Y/%m/%d %H:%M:%S" -d "+3 month"
  • date +" 三天前: %Y/%m/%d %H:%M:%S" -d "-3 day"
  • date -s "20300111 19:43:44" 

4、基本命令 -clear

  • clear - clear the terminal screen
  • ctrl + l (字母 L 的小写)

5、基本命令 -df

df - report 昀椀le system disk space usage
常用参数:

  • -a :列出所有文件系统
  • -k :列出磁盘的分配情况( KB )
  • -h :同 -k , 但大小以 G 、 M , K 单位显示
  • -l :仅列出本地文件系统 

四、输入输出相关操作

1、输入命令

 echo - display a line of text

         Echo the STRING(s) to standard output.

  • -n do not output the trailing newline
  • -e enable interpretation of backslash escapes
  • -E disable interpretation of backslash escapes (default)

2、输入输出重定向

什么是重定向?
        输入 / 输出重定向是改变 shell 命令或程序默认的标准输入 / 输出目标,重新定向到新的目标。默认的输入输出位置是哪里
linux 中默认的标准输入定义为键盘,标准输出定义为终端窗口。

  • 标准输入:( stdin ,文件描述符为 0 ):默认从键盘输入
  • 标准输出:( stdout ,文件描述符为 1 ):默认输出到屏幕。
  • 标准出错:( stderr ,文件描述符为 2 ):默认输出到屏幕。

为什么要使用重定向?

  • 1. 当屏幕输出的信息很重要时,而且希望保存重要的信息时
  • 2. 后台执行中的程序,不希望它干扰屏幕正常的输出结果时
  • 3. 系统的例行命令,例如定时任务的执行结果,希望他可以存下来
  • 4. 一些执行命令,我们已经知道他可能出现错误信息,想把它直接丢掉时
  • 5. 执行一个命令,可能报错和正确的输出并序,类似错误日志与标准
  • 正确日志需要分别输出至不同的文件。
1)输出重定向 

2) 输入重定向

3、 通配符

 通配符是一种特殊语句,通配符是用来代替字符的

 

4、历史查询

history

5、自动补齐

Tab 

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值