上一篇讲了普通用户切换到root用户,今天补充一点,对于Debian和Ubuntu用户,安装时候只有一个普通用户注册,在需要root权限时,我们可以在普通用户模式下输入sudo这个命令运行某些相关特权指令,sudo命令有时候要求输入密码,这个密码是普通用户密码。

上图所示,系统用户gcc时,只输入useradd  abc是不能创建新的用户abc的,但是使用sudo useradd abc 却可以成功添加用户abc,为新用户设置密码也一样。

还有一种方法是sudo -s,这个s即为su,这样将自己暂时提升为root用户,与前一种方法不同的是,此时的系统用户切换成了root

Shell解释语言是一种用户与os交互的中间媒介,Ubuntu os高效性就体现在Shell环境下的命令行。因此我们要掌握好命令行指令才可以学好Ubuntu。

一浏览硬盘

打开终端 cd /  进入根目录,ls  查看该目录下的子目录文件,然后 cd  home/ 进入你的用户主目录下  pwd命令可以查看你当前处于哪个目录下

有一个技巧就是无论你在哪个目录下    如果输入 cd 回车,都会回到你的用户主目录下面

etc目录下存放着系统以及绝多数应用软件的配置文件,在安装Ubuntu时我们对磁盘进行了目录文件的挂载(mount)分区,可以使用

cat fstab  命令查看分区挂载情况

<file-sysytem> 给出的是设备卷标签      <mount-point>是挂载点   <type>是文件系统类型   <dump> 是文件频率转储   <pass>是启动时扫面该文件系统的顺序(boot 默认是第一个扫描,其他的基本是2)

二使用命令行补全和通配符提高效率

当我们 cat 文件名 查看文件内容时,如果文件名太长输入会浪费时间,这时可以按tab键,Shell会自动补全,此外,如果在输入命令指令时忘记全拼是什么,按tab键两次,会出现模式匹配的指令

通配符可以搜索匹配文件名 *  ?  []这三种通配符Shell环境都支持

*匹配文件名中任意长度字符串

?匹配一个字符串

[ ] 匹配所有出现在方括号内的字符 如 we[ab]  可以匹配 wea  web  weab weba  而 [A-Z]即用一个短线来匹配一个范围

三 查看目录和文件

显示当前目录 pwd

改变目录 cd  相对路径和绝对路径,绝对路径是以根目录(  /  )来开始的文件树查找

./表示当前路径   ../表示当前路径上一级路径

列出目录内容 ls  list的缩写

ls不带任何参数,列出当前目录下的所有文件和子目录名,默认情况下,不同文件类型的颜色不同,普通文件显白色 目录文件显蓝色 可执行文件显草绿色   链接文件显淡蓝色

如果要很好区分文件类型  ls -F    该命令使得所有  目录文件后加/   链接文件后加@ 可执行文件后加*

ls -a 可以查看隐藏文件  ls -l 可以查看文件的各种属性

这里说一下文件的访问属性以及不同系统用户对文件的权限

总共有8个信息栏

依次是 文件的权限标志  文件的链接个数   文件的拥有者用户名   该用户所在的组  文件大小  最后一次修改日期  时间  文件名

下面说一下文件权限  对于一个文件来说,有三种使用情况  可读r  可写w   可执行x   而对于访问文件的用户有三种  文件拥有者u  文件所有组 g  系统其他用户 o ,文件权限开头一个字符表示文件的类型

- 普通文件(包括文本文件,二进制可执行文件等)

d  目录文件

l 链接文件

b 块文件(设备文件的一种)

c 字符文件  (设备文件的一种)

p 命名管道(先进先出FIFO  相当于队列,用于进程间通信等)

s 本地域套接字(网络通信)

对于abc2.cpp文件 -rw-rw-r-- 表示文件拥有者gcc对该文件有读写权,文件所有组gcc中的用户对该文件有读写权,其他用户只有读取权

四 列出目录文件

dir 路径名

vdir 路径名  相当于ls命令加上了- l

五 查看文本文件

cat 文件名

cat后面可以跟多个文件名做参数,也可以是通配符

cat 后加选项 -n可以显示行号

more less 都可以查看文件,more一页一页显示文件,less指令提供更好的阅读体验

每次显示一页,要向下翻页按空格,向上翻页按B 也可以用光标向前向后移动

还可以输入/要查找的内容 ,即可以高亮显示

less指令读到文件尾不退出,按q键退出

六 查找文件内容

grep 查找关键词   待查找的文件(可以有多个)

关键词如果有空格要加单引号括起来

七 find在指定范围内查找文件

find 路径名 表达式

find /usr/bin -name zip -print

在/usr/bin 路径下查找文件名位zip的文件并且输出到标准输出

locate 文件名 更快定位,这是因为locate并没有进入子目录搜索,类似与google的桌面搜索,通过检索文件名数据库来确定文件位置,locate自动建立文件名数据库

八 从终端运行程序

firefox

终端被挂起,知道firefox结束

firefox &

此时firefox在后台运行,终端继续等待用户输入

九 查找特定程序

其中选项 -b表示只显示二进制可执行文件路径

十 用户版本信息查看

who 可以查看有哪些人登录以及在哪个控制台上

whoami 回答我是谁

uname显示当前系统的版本信息

uname -r 显示当前系统的内核版本信息

uname -a 显示详细的版本信息

whatis 指令 从某一个指令手册中选取最简介的信息来介绍这个指令的用途

apropos search/find/look 可以模糊搜索用户输入的词对应的指令有哪些

Linux入门(二)Shell基本命令的更多相关文章

  1. Linux入门第二天——基本命令入门(下)

    一.帮助命令 1.帮助命令:man (是manual手册的缩写,男人无所不能,/笑哭) 更多man用法以及man page的用法,参见:http://www.linuxidc.com/Linux/20 ...

  2. Linux入门(二)Linux基本命令及基本操作

    1 常用Linux命令 图形界面进入到字符界面: ctrl+alt+F2~F6 字符界面进入到图形界面:ctrl +alt+F7 查看本机ip:  ifconfig  (windows是:ipconf ...

  3. 小白Linux入门 二

    参考: http://edu.51cto.com/lesson/id-11222.html CPU中有计算单元 控制单元.它通过桥接芯片与存储器进行匹配 其中北桥是高速 南桥是低速 包括IDE USB ...

  4. Linux入门第二天——基本命令入门(上)

    一.常用命令介绍 常见命令可参考:http://man.linuxde.net/ http://linux.51yip.com/ 请对照参考! 常用的快捷键:http://blog.csdn.net/ ...

  5. Linux入门第二天——基本命令入门(中)

    一.文件搜索命令 1.文件搜索命令:locate 速度很快(具体见Linux工具网址的对比),注意无法找到新建的文件(原理暂不展开) locate命令其实是“find -name”的另一种写法,但是要 ...

  6. 学习Linux入门50个基本命令

    Linux系统以一切皆文件的方式运行系统.虽然存在ubuntu版本的图形界面,但在企业的服务器里面还是以命令行系统运行为主. 以下是初学50个基本的Linux命令行的体会 1:pwd 显示当前你所在的 ...

  7. kali Linux 入门(二)

    九.软件安装 1.apt install --软件名称-- -y 2.apt install packge_name----库安装 3.apt install kali-linux-all -y--- ...

  8. Linux入门篇(六)——Shell(二)

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  9. Linux入门篇(二)——文件

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  10. Linux(1)- 服务器核心知识、Linux入门、VMware与centeos安装、远程连接linux、linux基本命令使用

    一.服务器核心知识 1.电脑和电脑的硬件组成 现在的人们几乎无时无刻不在使用着电脑!不管是桌上型电脑(桌机).笔记型电脑(笔电).平板电脑,还是智慧型手机等等,这些东西都算是电脑.虽然接触这么多,但是 ...

随机推荐

  1. STS导入Gradle项目出现 Could not create task of type 'DependencyManagementReportTask'

    解决方法: 在build.gradle文件下添加如下: classpath 'io.spring.gradle:dependency-management-plugin:0.6.1.RELEASE'

  2. > Manifest merger failed with multiple errors, see logs -- Android Studio问题汇总

    FAQ:> Manifest merger failed with multiple errors, see logs 解决: 此问题产生原因大概有三个 # 第一,清单文件有错,这种错不会在编译 ...

  3. [SCOI2016] 背单词 (Trie树)

    $pdf\space solution$      link #include<iostream> #include<algorithm> #include<cstrin ...

  4. R语言外部数据读取

    0  引言 使用R语言.Python等进行数据处理的第一步就是要导入数据(也可以使用UCI数据集),下文主要根据R语言的帮助文档来介绍外部文件数据的导入方法和注意事项.下面先附上一些指令. 1 格式r ...

  5. ubuntu下访问其他盘出现挂在错误解决办法

    Error mounting /dev/sda5 at /media Linux下不能进入windows的NTFS分区之挂载错误问题 电 脑安装了win8,后在另一个分区(在win8下未分配空间)安装 ...

  6. JSON学习笔记(总结自w3school)

    1. JSON是一种文本. 2. JSON即JavaScript Object Notation(JavaScript对象表示法). JSON用来存储和交换文本信息. JSON比xml更小, 更快, ...

  7. python lambda表达式与三元运算

    1.三元运算 格式: 为真时的结果 if 判定条件 else 为假时的结果 #!/usr/bin/python # -*- coding: UTF-8 -*- def f(x, y): # 如果x大于 ...

  8. 递归和静态static

    function sum($n){ if($==1){ return 1; } return $n+sum($n-1); } echo sum(100); ---------------------- ...

  9. [Baltic2009]Radio Transmission

    bzoj 1355: [Baltic2009]Radio Transmission http://www.lydsy.com/JudgeOnline/problem.php?id=1355 Time ...

  10. MongoDB - MongoDB CRUD Operations, Bulk Write Operations

    Overview MongoDB provides clients the ability to perform write operations in bulk. Bulk write operat ...