Linux基础(一)

目录

1.Linux 操作系统

2.Linux命令提示符

2.1 shell 命令提示符:

2.2 修改命令提示符

3. 系统中支持的 shell

4. Linux 根目录

5.绝对路径和相对路径

6.重定向

6.1 < 输入重定向

6.2 > 输出重定向

6.3 >> 输出重定向追加

7.通配符 *, ?, [abcd], [^abcd], [a-z]

7.1 * 通配任意长度的字符。包括 0 个字符。

7.2 ? 通配有且仅有一个字符。

7.3 [abcd] 通配 [ ] 个字符]中列出的任意一个

  7.4  [^abcd] 排除集合中的字符,匹配一个字符。

 7.5 [] 通配符只匹配一个字符,如果要匹配多个字符,就要多次使用 [] 匹配:

8. 命令间使用 ; 分隔,# 注释


1.Linux 操作系统

  Linux操作系统属于多用户多任务操作系统 ,类 Unix 系统。创始人Linus 。

2.Linux命令提示符

超级用户
普通用户

2.1 shell 命令提示符:

farsight@ubuntu:~$ 

   farsight ---- 用户名
   @        ---- 分隔符
   ubuntu   ---- 主机名
   :        ---- 分隔符
   ~        ---- 当前工作目录
   $        ---- 权限、身份符号,超级用户使用 #

2.2 修改命令提示符

只要修改 PS1 环境变量即可:

export 修改环境变量PS1

   以上只是临时更改,只对当前 SHELL 有效,如果要开机即生效,就要修改启动文件
   .profile 或 .bashrc 中对 PS1 的赋值。

3. 系统中支持的 shell

查看系统中支持的 shell: cat /etc/shells

 查看当前 shell:echo $SHELL

进入指定的 shell,输入相应 shell 名即可:
   farsight@ubuntu:~$ sh

   退出 shell: exit

4. Linux 根目录

在这里只列出部分常用的:

   bin           所有用户都可执行命令目录
   boot          启动文件目录
   dev           设备文件目录
   etc           系统配置文件目录
   home       普通用户主目录的父目录
   lib            32 位库文件目录
   lib64        64 位库文件目录
   mnt          默认的挂载目录
   opt           要挂载的文件系统等
   proc          进程相关的信息
   root          根用户(超级用户)主目录
   sbin          超级用户执行的命令目录
   sys           sysfs 文件系统,比 proc 更详细
   usr           普通用户目录,比如普通用户安装的命令
             /usr/bin                 命令目录
             /usr/include         头文件目录
             /usr/lib                 库目录
             /usr/sbin              超级用户命令
             /usr/share/man   手册页主目录,子目录 man1 ~ man9 手册的各章节目录
   var           配置目录

5.绝对路径和相对路径

   绝对路径:从根目录 / 开始的路径。如:/usr/include
   相对路径:不以 / 开始的路径。因为它是相对于当前目录或上级目录的路径。如:
             usr      当前目录下的 usr 目录 
             ./usr    当前目录下的 usr 目录
             ../usr   上级目录下的 usr 目录

   主目录(家目录),每个用户都有他的主目录,用于存放用户私有文件。
   普通用户主目录:/home/xxxx ---- xxxx 用户的主目录
   超级用户主目录:/root

   两个特殊的目录:
   
   当前目录:.
   上级目录:..
   
   每个目录下都有这两个目录。根目录 / 下也有 .. 目录名,但没有上级目录。

6.重定向

6.1 < 输入重定向

   默认情况下,是从键盘输入数据,但如果不想从键盘输入,而想从一个文件中得到输入
   的数据,则可以使用输入重定向 <,< 的左边是命令,右边是输入文件。

farsight@ubuntu:~/test$ cat 1.txt 
234
farsight@ubuntu:~/test$ read AAAA < 1.txt    # < 右边的文件内容输入到左边命令中
farsight@ubuntu:~/test$ echo $AAAA
234

6.2 > 输出重定向

   默认情况下,是向控制台(屏幕)输出,但是如果想将输出保存到某个文件中,则可以
   使用输出重定向 >,< 的左边是命令,右边是输出文件。如果文件不存在就自动创建。
   如果文件已存在就覆盖原内容。

farsight@ubuntu:~/test$ echo "Hello world"
Hello world
farsight@ubuntu:~/test$ echo "Hello world" > 2.txt   # 将 echo 命令的输出保存到 2.txt 文件中
farsight@ubuntu:~/test$ cat 2.txt 
Hello worldfarsight@ubuntu:~/test$ echo "Hello world"
Hello world
farsight@ubuntu:~/test$ echo "Hello world" > 2.txt   # 将 echo 命令的输出保存到 2.txt 文件中
farsight@ubuntu:~/test$ cat 2.txt 
Hello world

   标准输出文件描述符 1
   标准错误文件描述符 2

farsight@ubuntu:~/test$ find . -name "1.txt" 2>&1    # 将标准错误重定向到标准输出

 # 如果要过滤掉一些错误的信息,可以使用将标准错误 2 重定向到 /dev/null
   
farsight@ubuntu:~/test$ find /root -name "*.h"   # 没有重定向,报告错误信息
find: ‘/root’: Permission denied
farsight@ubuntu:~/test$ find /root -name "*.h" 2>/dev/null  # 重定向了,错误信息保存到 /dev/null

6.3 >> 输出重定向追加

   将输出到屏幕的数据输出到文件中,并且是追加到文件中

farsight@ubuntu:~/linux/test$ cat 1.txt
hello everybody
farsight@ubuntu:~/linux/test$ echo 111 >> 1.txt
farsight@ubuntu:~/linux/test$ cat 1.txt
hello everybody
111
farsight@ubuntu:~/linux/test$ echo 222 >> 1.txt
farsight@ubuntu:~/linux/test$ cat 1.txt
hello everybody
111
222

7.通配符 *, ?, [abcd], [^abcd], [a-z]

7.1 * 通配任意长度的字符。包括 0 个字符。

 以 .txt 结尾可以用通配符表示为:*.txt

farsight@ubuntu:~/test$ ls
1  1.txt  2.txt  3.txt
farsight@ubuntu:~/test$ ls *.txt
1.txt  2.txt  3.txt

其它用法:abc*, 1*.txt, *abc*, *ab*cd*

7.2 ? 通配有且仅有一个字符。

farsight@ubuntu:~/test$ ls 
1  11.txt  1.txt  2.txt  3.txt
farsight@ubuntu:~/test$ ls ?.txt
1.txt  2.txt  3.txt
farsight@ubuntu:~/test$ ls ??.txt
11.txt
farsight@ubuntu:~/test$ ls 1?.txt
11.txt

7.3 [abcd] 通配 [ ] 个字符]中列出的任意一个

farsight@ubuntu:~/test$ ls [12].txt   # 通配 1 和 2 中任意一个字符   
farsight@ubuntu:~/test$ ls [0-9].txt  # 通配所有数字
1.txt  2.txt  3.txt
farsight@ubuntu:~/test$ ls [0-9a-zA-Z].txt  # 通配所有数字和字母
1.txt  2.txt  3.txt
farsight@ubuntu:~/test$ ls [a-z].txt  # 通配所有小写字母
ls: cannot access '[a-z].txt': No such file or directory
farsight@ubuntu:~/test$ ls [A-Z].txt  # 通配所有小写字母
ls: cannot access '[A-Z].txt': No such file or directory
farsight@ubuntu:~/test$ ls [a-zA-Z].txt  # 通配所有字母
ls: cannot access '[a-zA-Z].txt': No such file or directory


  7.4  [^abcd] 排除集合中的字符,匹配一个字符。

farsight@ubuntu:~/test$ ls [^3456].txt
farsight@ubuntu:~/test$ ls [^3-9].txt  

 7.5 [] 通配符只匹配一个字符,如果要匹配多个字符,就要多次使用 [] 匹配:

farsight@ubuntu:~/test$ ls [0-9][a-z].txt

8. 命令间使用 ; 分隔,# 注释

    命令行执行多条命令时,使用 ; 将它们分隔开来:

farsight@ubuntu:~/test$ echo $PS1; cat 1.txt    # 先执行 echo 命令,再执行 cat 合作

    shell 命令中使用 # 注释,放在命令的末尾

farsight@ubuntu:~/test$ echo "Hello world"  # This is remark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值