Linux shell--基础指令
Linux shell--基础指令
浏览Linux文件系统
Linux中最基础也是最必要的一条指令
cd destination
cd命令可接受单个参数destination,用以指定想切换到的目录名。如果没有为cd命令指定目标路径,它将切换到用户主目录。
destination参数可以用两种方式表示:一种是使用绝对文件路径,另一种是使用相对文件路径。
1. 绝对文件路径
xiaoyu@ubuntu:~$ cd /usr/bin
xiaoyu@ubuntu:/usr/bin$
pwd命令
pwd命令可以显示出shell会话的当前目录,这个目录被称作当前工作目录。pwd命令的用法如下:
xiaoyu@ubuntu:/usr/bin$ pwd
/usr/bin
xiaoyu@ubuntu:/usr/bin$
可以使用绝对路径文件路径切换到Linux虚拟目录结构中的任何一级:
xiaoyu@ubuntu:/$ cd sys/power
xiaoyu@ubuntu:/sys/power$ pwd
/sys/power
xiaoyu@ubuntu:/sys/power$
但是如果只是在自己的主目录中工作,经常使用绝对路径的话未免太过冗长,例如,若已经位于目录/home/xiaoyu,在输入下方这样的命令切换到Documents目录就有点繁琐了
/home/Documents
2. 相对文件路径
xiaoyu@ubuntu:~$ pwd
/home/xiaoyu
xiaoyu@ubuntu:~$ cd Documents/
xiaoyu@ubuntu:~/Documents$ pwd
/home/xiaoyu/Documents
xiaoyu@ubuntu:~/Documents$
事实上,在实际工程中,使用绝对路径跟相对路径都没啥讲究,都会互相结合使用。
返回上一级目录
返回上一级目录,我们使用双点符(..),表示当前目录的父目录
双点符在目录层级中移动时非常便利。如果正处在主目录下的Documents目录中,需要切换到主目录下的Downloads目录,可以这么做:
xiaoyu@ubuntu:~$ cd Documents
xiaoyu@ubuntu:~/Documents$ pwd
/home/xiaoyu/Documents
xiaoyu@ubuntu:~/Documents$ cd ../Downloads
xiaoyu@ubuntu:~/Downloads$ pwd
/home/xiaoyu/Downloads
xiaoyu@ubuntu:~/Downloads$
文件和目录列表
要想知道系统中有哪些文件,可以使用列表命令(ls)
基本的列表功能
ls命令最基本的形式会显示当前目录下的文件和目录:
xiaoyu@ubuntu:~$ ls
Desktop Documents Downloads examples.desktop Music Pictures Public Templates Videos vmware-tools-distrib xiaoyu
xiaoyu@ubuntu:~$
ls命令输出的列表是按字母排序的(按列排序而不是按行来排序)
ls -F,-F参数的ls命令可以轻松区分文件和目录
xiaoyu@ubuntu:~$ ls -F
Desktop/ Documents/ Downloads/ examples.desktop Music/ Pictures/ Public/ Templates/ Videos/ vmware-tools-distrib/ xiaoyu/
xiaoyu@ubuntu:~$
-F参数在目录名后面加了正斜线(/),以方便用户在输出中分辨,在可执行文件的后面加个*号,嗯,我目录中暂时没有可执行文件,以便用户找出可在系统中运行的文件。
基本的ls命令在某种意义上有点容易让人误解。它显示了当前目录下的文件和目录,但并没有将全部都显示出来。Linux经常采用隐藏文件来保存配置信息。在Linux上,隐藏文件通常是文件名以点号开始的文件。这些文件并没有在默认的ls命令输出中显示出来,因此我们称其为隐藏文件。要把隐藏文件和普通文件及目录一起显示出来,就得用到-a参数。下面是一个带有-a参数的ls命令的例子:
xiaoyu@ubuntu:~$ pwd
/home/xiaoyu
xiaoyu@ubuntu:~$ ls -a
. .bashrc Desktop examples.desktop .local .profile Videos .xsession-errors
.. .cache .dmrc .gconf .mozilla Public vmware-tools-distrib .xsession-errors.old
.bash_history .compiz Documents .gnupg Music .sudo_as_admin_successful .Xauthority
.bash_logout .config Downloads .ICEauthority Pictures Templates xiaoyu
xiaoyu@ubuntu:~$
由于结果太长,我这里就不贴了,建议在目录层级比较少的目录下操作
显示长列表
在基本的输出列表中,ls命令并未输出太多每个文件的相关信息。要显示附加信息,另一个常用的参数是-l。-l参数会产生长列表格式的输出,包含了目录中每个文件的更多相关信息。
xiaoyu@ubuntu:~$ ls -l
total
drwxr-xr-x xiaoyu xiaoyu Dec : Desktop
drwxr-xr-x xiaoyu xiaoyu Dec : Documents
drwxr-xr-x xiaoyu xiaoyu Dec : Downloads
-rw-r--r-- xiaoyu xiaoyu Dec : examples.desktop
drwxr-xr-x xiaoyu xiaoyu Dec : Music
drwxr-xr-x xiaoyu xiaoyu Dec : Pictures
drwxr-xr-x xiaoyu xiaoyu Dec : Public
drwxr-xr-x xiaoyu xiaoyu Dec : Templates
drwxr-xr-x xiaoyu xiaoyu Dec : Videos
drwxr-xr-x xiaoyu xiaoyu Feb vmware-tools-distrib
drwxrwxr-x xiaoyu xiaoyu Dec : xiaoyu
xiaoyu@ubuntu:~$
- 文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);
- 文件的权限
- 文件的硬链接总数
- 文件属主的用户名
- 文件属组的组名
- 文件的大小(大小以字节为单位)
- 文件的上次修改时间
- 文件名或目录名
通常我们会ls -a -l -F一起使用,当然这样写很复杂,可以直接这么写ls -alF
过滤输出列表
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_file
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
xiaoyu@ubuntu:~/xiaoyu$
- 问号(?)代表一个字符:
- 星号(*)代表零个或多个字符
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_f?le
-rw-rw-r-- xiaoyu xiaoyu Dec : my_fale
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
xiaoyu@ubuntu:~/xiaoyu$
其中,过滤器my_f?le与目录中的两个文件匹配,类似的,型号可匹配零个或多个字符。
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_*
-rw-rw-r-- xiaoyu xiaoyu Dec : my_fale
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file2
xiaoyu@ubuntu:~/xiaoyu$
使用星号找到了三个名字以my开头的文件,和问号一样,你可以把星号放在过滤器中的任意位置
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_f*le
-rw-rw-r-- xiaoyu xiaoyu Dec : my_fale
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_f[ai]le
-rw-rw-r-- xiaoyu xiaoyu Dec : my_fale
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_f[a-z]le
-rw-rw-r-- xiaoyu xiaoyu Dec : my_fale
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ ls -l my_f[!a]le
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
注意:以上的(*)(?)([aj])([a-z])(!)不仅仅是在ls中有用,在linux需要用到过滤的地方,这几种方法都是十分常见有效的
处理文件
创建文件
我们总会时不时地遇到要创建空文件的情况。例如,有时应用程序希望在它们写入数据之前,某个日志文件已经存在,这时,可以用touch命令轻松创建空文件。
xiaoyu@ubuntu:~/xiaoyu$ touch test_one
xiaoyu@ubuntu:~/xiaoyu$ ls -l test_one
-rw-rw-r-- xiaoyu xiaoyu Dec : test_one
xiaoyu@ubuntu:~/xiaoyu$ touch test_one
xiaoyu@ubuntu:~/xiaoyu$ ls -l test_one
-rw-rw-r-- xiaoyu xiaoyu Dec : test_one
xiaoyu@ubuntu:~/xiaoyu$
touch命令创建了你指定的新文件,并将你的用户名作为文件的属主。注意,文件的大小是零,因为touch命令只创建了一个空文件。
如果只想改变访问时间,可以使用-a参数。
xiaoyu@ubuntu:~/xiaoyu$ touch -a test_one
xiaoyu@ubuntu:~/xiaoyu$ ls -l test_one
-rw-rw-r-- 1 xiaoyu xiaoyu 0 Dec 17 15:04 test_one
xiaoyu@ubuntu:~/xiaoyu$ ls -l --time=atime test_one
-rw-rw-r-- 1 xiaoyu xiaoyu 0 Dec 17 15:07 test_one
xiaoyu@ubuntu:~/xiaoyu$
复制文件
xiaoyu@ubuntu:~/xiaoyu$ cp test_one test_two
xiaoyu@ubuntu:~/xiaoyu$ ls -l test*
-rw-rw-r-- xiaoyu xiaoyu Dec : test_one
-rw-rw-r-- xiaoyu xiaoyu Dec : test_two
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ cp -i test_one test_two
cp: overwrite 'test_two'? y
xiaoyu@ubuntu:~/xiaoyu$
如果不回答y,文件复制将不会继续。也可以将文件复制到现有目录中。
xiaoyu@ubuntu:~/xiaoyu$ cp -i test_one /home/xiaoyu/Documents/
xiaoyu@ubuntu:~/xiaoyu$ ls -l /home/xiaoyu/Documents/
total
-rw-rw-r-- xiaoyu xiaoyu Dec : test_one
xiaoyu@ubuntu:~/xiaoyu$
上一个例子采用了绝对路径,不过也可以使用相对路径
xiaoyu@ubuntu:~/xiaoyu$ cp -i test_one ../Documents/
cp: overwrite '../Documents/test_one'? y
xiaoyu@ubuntu:~/xiaoyu$
之前讲过cd ..返回当前目录的父目录,单点符(.)就很适合cp命令。记住,单点符表示当前工作目录。如果需要将一个带有很长的源对象名的文件复制到当前工作目录中时,单点符能够简化该任务
xiaoyu@ubuntu:~/xiaoyu$ cp /etc/NetworkManager/NetworkManager.conf .
xiaoyu@ubuntu:~/xiaoyu$ ls -l NetworkManager.conf
-rw-r--r-- xiaoyu xiaoyu Dec : NetworkManager.conf
xiaoyu@ubuntu:~/xiaoyu$
制表键自动补全
在使用命令行时,很容易输错命令,目录名或文件名。实际上,对长目录来说输错的概率还是蛮高的,按住Table键就可以为你自动补全命令或者目录名了,这里就不演示了
链接文件
- 符号链接
- 硬链接
符号链接就是实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。
要为一个文件创建符号链接,原始文件必须事先存在。然后可以使用ln命令以及-s选项来创建符号链接
xiaoyu@ubuntu:~/xiaoyu$ touch data_file
xiaoyu@ubuntu:~/xiaoyu$ ls -l data_file
-rw-rw-r-- xiaoyu xiaoyu Dec : data_file
xiaoyu@ubuntu:~/xiaoyu$ ln -s data_file sl_data_file
xiaoyu@ubuntu:~/xiaoyu$ ls -l *data_file
-rw-rw-r-- xiaoyu xiaoyu Dec : data_file
lrwxrwxrwx xiaoyu xiaoyu Dec : sl_data_file -> data_file
xiaoyu@ubuntu:~/xiaoyu$
另外还要注意的是,符号链接的文件大小与数据文件的文件大小。符号链接sl_data_file只有9个字节,而data_file有0个字节。这是因为sl_data_file仅仅只是指向data_file而已。它们的内容并不相同,是两个完全不同的文件。
xiaoyu@ubuntu:~/xiaoyu$ ls -i *data_file
data_file sl_data_file
xiaoyu@ubuntu:~/xiaoyu$
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件也必须实现存在,只不过这次使用ln命令时不再需要加入额外的参数了。
xiaoyu@ubuntu:~/xiaoyu$ touch code_file
xiaoyu@ubuntu:~/xiaoyu$ ls -l code_file
-rw-rw-r-- xiaoyu xiaoyu Dec : code_file
xiaoyu@ubuntu:~/xiaoyu$ ln code_file hl_code_file
xiaoyu@ubuntu:~/xiaoyu$ ls -li *code_file
-rw-rw-r-- xiaoyu xiaoyu Dec : code_file
-rw-rw-r-- xiaoyu xiaoyu Dec : hl_code_file
xiaoyu@ubuntu:~/xiaoyu$
注意:只能对处于同一存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间创建链接,只能使用符号链接。
重命名文件
xiaoyu@ubuntu:~/xiaoyu$ touch fall fell fill full
xiaoyu@ubuntu:~/xiaoyu$ ls -li f*ll
-rw-rw-r-- xiaoyu xiaoyu Dec : fall
-rw-rw-r-- xiaoyu xiaoyu Dec : fell
-rw-rw-r-- xiaoyu xiaoyu Dec : fill
-rw-rw-r-- xiaoyu xiaoyu Dec : full xiaoyu@ubuntu:~/xiaoyu$ mv fall fzll
xiaoyu@ubuntu:~/xiaoyu$ ls -li f*ll
-rw-rw-r-- xiaoyu xiaoyu Dec : fell
-rw-rw-r-- xiaoyu xiaoyu Dec : fill
-rw-rw-r-- xiaoyu xiaoyu Dec : full
-rw-rw-r-- xiaoyu xiaoyu Dec : fzll
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ ls -li /home/xiaoyu/xiaoyu/fzll
-rw-rw-r-- xiaoyu xiaoyu Dec : /home/xiaoyu/xiaoyu/fzll
xiaoyu@ubuntu:~/xiaoyu$ ls -li /home/xiaoyu/Pictures/
total
xiaoyu@ubuntu:~/xiaoyu$ mv fzll ../Pictures/
xiaoyu@ubuntu:~/xiaoyu$ ls -li ../Pictures/
total
-rw-rw-r-- xiaoyu xiaoyu Dec : fzll
xiaoyu@ubuntu:~/xiaoyu$ ls -li fzll
ls: cannot access 'fzll': No such file or directory
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ mv ../Pictures/fzll ./fall
xiaoyu@ubuntu:~/xiaoyu$ ls -li ../Pictures/fzll
ls: cannot access '../Pictures/fzll': No such file or directory
xiaoyu@ubuntu:~/xiaoyu$ ls -li ./fall
-rw-rw-r-- xiaoyu xiaoyu Dec : ./fall
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/my_directory$ touch .sh .sh .sh .sh
xiaoyu@ubuntu:~/my_directory$ cd ..
xiaoyu@ubuntu:~$ ls -li my_directory/
total
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
xiaoyu@ubuntu:~$ mv my_directory/ new_my_directory
xiaoyu@ubuntu:~$ ls -li new_my_directory/
total
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
-rw-rw-r-- xiaoyu xiaoyu Dec : .sh
xiaoyu@ubuntu:~$ ls -li my_directory
ls: cannot access 'my_directory': No such file or directory
xiaoyu@ubuntu:~$
删除文件
xiaoyu@ubuntu:~/xiaoyu$ rm -i fall
rm: remove regular empty file 'fall'? y
xiaoyu@ubuntu:~/xiaoyu$ ls -li fall
ls: cannot access 'fall': No such file or directory
xiaoyu@ubuntu:~/xiaoyu$
注意:-i参数提示你是不是要真的删除该文件。bash shell中灭有回收站或垃圾箱,文件一旦删除,就无法再找回。因此,在使用rm命令时,要养成总是加入-i参数的好习惯。
也可以使用通配符删除成组的文件。别忘了使用-i选项保护好自己的文件。
xiaoyu@ubuntu:~/xiaoyu$ rm -i f*ll
rm: remove regular empty file 'fell'? y
rm: remove regular empty file 'fill'? y
rm: remove regular empty file 'full'? y
xiaoyu@ubuntu:~/xiaoyu$ ls -al f*ll
ls: cannot access 'f*ll': No such file or directory
xiaoyu@ubuntu:~/xiaoyu$
rm命令的另外一个特性是,如果要删除很多文件且不受提示符的打扰,可以用-f参数强制删除,小心为妙!
处理目录
创建目录
xiaoyu@ubuntu:~/xiaoyu$ mkdir one_dir
xiaoyu@ubuntu:~/xiaoyu$ ls -ld one_dir/
drwxrwxr-x xiaoyu xiaoyu Dec : one_dir/
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ mkdir two_dir/sub_dir/under_dir
mkdir: cannot create directory ‘two_dir/sub_dir/under_dir’: No such file or directory
xiaoyu@ubuntu:~/xiaoyu$
要想同时创建多个目录和子目录,需要加入-p参数:
xiaoyu@ubuntu:~/xiaoyu$ mkdir -p two_dir/sub_dir/under_dir
xiaoyu@ubuntu:~/xiaoyu$ ls -R two_dir/
two_dir/:
sub_dir two_dir/sub_dir:
under_dir two_dir/sub_dir/under_dir:
xiaoyu@ubuntu:~/xiaoyu$
mkdir参数 | 参数代表的意义 |
-m, --mode=MODE | 设置文件模式(在chmod中),而不是a=rwx - umask |
-p, --parents | 没有错误,如果存在,使父目录需要 |
-v, --verbose |
|
删除目录
xiaoyu@ubuntu:~/xiaoyu$ touch one_dir/my_file
xiaoyu@ubuntu:~/xiaoyu$ ls -li one_dir/
total
-rw-rw-r-- xiaoyu xiaoyu Dec : my_file
xiaoyu@ubuntu:~/xiaoyu$ rmdir one_dir/
rmdir: failed to remove 'one_dir/': Directory not empty
xiaoyu@ubuntu:~/xiaoyu$
xiaoyu@ubuntu:~/xiaoyu$ rm -i one_dir/my_file
rm: remove regular empty file 'one_dir/my_file'? y
xiaoyu@ubuntu:~/xiaoyu$ rmdir one_dir/
xiaoyu@ubuntu:~/xiaoyu$ ls -ld one_dir
ls: cannot access 'one_dir': No such file or directory
xiaoyu@ubuntu:~/xiaoyu$ rm -ri two_dir/
rm: descend into directory 'two_dir/'? y
rm: descend into directory 'two_dir/sub_dir'? y
rm: remove directory 'two_dir/sub_dir/under_dir'? y
rm: remove directory 'two_dir/sub_dir'? y
rm: remove directory 'two_dir/'? y
xiaoyu@ubuntu:~/xiaoyu$ ls -l two_dir
ls: cannot access 'two_dir': No such file or directory
xiaoyu@ubuntu:~/xiaoyu$
查看文件内容
查看文件类型
xiaoyu@ubuntu:~/xiaoyu$ ls -al .
total
drwxrwxr-x xiaoyu xiaoyu Dec : .
drwxr-xr-x xiaoyu xiaoyu Dec : ..
drwxrwxr-x xiaoyu xiaoyu Dec : my_dir
-rw-rw-r-- xiaoyu xiaoyu Dec : one_file
-rw-rw-r-- xiaoyu xiaoyu Dec : shell.sh
xiaoyu@ubuntu:~/xiaoyu$ file my_dir/
my_dir/: directory
xiaoyu@ubuntu:~/xiaoyu$ file one_file
one_file: empty
xiaoyu@ubuntu:~/xiaoyu$ file shell.sh
shell.sh: ASCII text
xiaoyu@ubuntu:~/xiaoyu$
查看整个文件
如果手头有一个很大的文本文件,你可能会想看看里面是什么内容。在Linux上有3个不同的命令可以完成这个任务。
1. cat命令
cat命令是显示文本文件中所有数据的得力工具。
$ cat test1
hello
This is a test file.
That we'll use to test the cat command.
$
没什么特别的,就是文本文件的内容而已。这里还有一些可以和cat命令一起用的参数,可能对你有所帮助。
-n参数会给所有的行加上行号。
$ cat -n test1
1 hello
2
3 This is a test file.
4
5
6 That we'll use to test the cat command.
$
这个功能在检查脚本时很有用。如果只想给有文本的行加上行号,可以用-b参数。
$ cat -b test1
hello
This is a test file.
That we'll use to test the cat command.
$
最后,如果不想让制表符出现,可以用-T参数。
$ cat -T test1
hello
This is a test file.
That we'll use to^Itest the cat command.
$
-T参数会用^I字符组合去替换文中的所有制表符。

3. less命令
从名字上看,它并不像more命令那样高级。但是,less命令的命名实际上是个文字游戏(从俗语“less is more”得来),它实为more命令的升级版。它提供了一些极为实用的特性,能够实现在文本文件中前后翻动,而且还有一些高级搜索功能。less命令的操作和more命令基本一样,一次显示一屏的文件文本。除了支持和more命令相同的命令集,它还包括更多的选项。
注意: 要想查看less命令所有的可用选项,可以输入man less浏览对应的手册页。也可以这样查看more命令选项的参考资料。
其中一组特性就是less命令能够识别上下键以及上下翻页键(假设你的终端配置正确)。在查看文件内容时,这给了你全面的控制权。
查看部分文件
通常你要查看的数据要么在文本文件的开头,要么在文本文件的末尾。如果这些数据是在大型文件的起始部分,那你就得等cat或more加载完整个文件之后才能看到。如果数据是在文件的末尾(比如日志文件),那可能需要翻过成千上万行的文本才能到最后的内容。好在Linux有解决这两个问题的专用命令。
1. tail命令
tail命令会显示文件最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末尾10行。
出于演示的目的,我们创建了一个包含20行文本的文本文件。使用cat命令显示该文件的全部内容如下:
$ cat log_file
line1
line2
line3
line4
line5
Hello World - line
line7
line8
line9
line10
line11
Hello again - line
line13
line14
line15
Sweet - line16
line17
line18
line19
Last line - line20
$
$ tail log_file
line11
Hello again - line
line13
line14
line15
Sweet - line16
line17
line18
line19
Last line - line20
$
$ head log_file
line1
line2
line3
line4
line5
Hello World - line
line7
line8
line9
line10
$
类似于tail命令,它也支持-n参数,这样就可以指定想要显示的内容了。这两个命令都允许你在破折号后面输入想要显示的行数:
$ head - log_file
line1
line2
line3
line4
line5
$
Linux shell--基础指令的更多相关文章
- linux shell 基础 使用日志与心得
linux shell 基础 使用日志与心得 1.#!/bin/bash 第一行就出现#!/bin/bash是指此脚本使用/bin/bash来解释执行.其中,#!是一个特殊的表示符,其后,跟着解释此脚 ...
- Linux Shell基础(下)
Linux Shell基础(下) 目录 一.shell特殊符号cut命令 二.cut.sort.wc.uniq命令 三.tee.tr.split命令 四.简易审计系统 五.fork, exec, so ...
- Linux shell基础知识(上)
Linux shell基础知识(上) 目录 一.shell介绍 二.命令历史 三.命令补全和别名 四.通配符 五.输入输出重定向 六.管道符和作业控制 七.shell变量 八.环境变量配置文件 九.b ...
- Linux Shell 基础知识(一)
1. 本文知识结构 2. shell 基础知识 2.1 shell 简单介绍 GNU bash shell 能提供对 Linux 系统的交互式访问,一般来说,使用快捷键 Ctrl + Alt + ...
- Linux shell基础
shell是核心程序kernel之外的指令解析器,是一个程序,同事是一种命令语言和程序设计语言 --shell是命令解析器,用户输入命令,它去解析. shell类型 ash,bash,ksh,csh, ...
- linux shell基础语法
1.第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码 ...
- Linux常用基础指令
Linux常用指令 一.基础命令 whoami查看当前用户 pwd查看当前所在位置 ls 查看当前文件夹的内容 ls -l或ll显示详细内容 cd 绝对路径:从根目录开始的路径 cd / 文件夹 返回 ...
- Linux Shell基础 环境变量配置文件
source命令:使环境变量配置文件强制生效 source 命令会强制执行脚本中的全部命令,而忽略脚本文件的权限.该命令主要用于让重新配置的环境变量配置文件强制生效.source 命令格式如下: [r ...
- Linux Shell基础 位置参数变量、预定义变量
位置参数变量 在 Linux 的命令行中,当一条命令或脚本执行时,后面可以跟多个参数,我们使用位置参数变量来表示这些参数.其中,$0 代表命令行本身,$1 代表第 1 个参数,$2 代表第 2 个参数 ...
- Linux Shell基础 环境变量
环境变量 环境变量和用户自定义变量最主要的区别在于,环境变量是全局变量,而用户自定义变量是局部变量.用户自定义变量只在当前的 Shell 中生效,而环境变量会在当前 Shell 和这个 Shell 的 ...
随机推荐
- HTTP (了解URL)
HTTP-URL URL是统一资源定位符,是互联网上标准的资源地址表示方法 URL组成: 协议头 用户名:密码(FTP) 主机名(域名). 三级域名.二级域名.顶级域名 / [IP] 端口号 目录/文 ...
- Gradle 自定义插件
使用版本 5.6.2 插件被用来封装构建逻辑和一些通用配置.将可重复使用的构建逻辑和默认约定封装到插件里,以便于其他项目使用. 你可以使用你喜欢的语言开发插件,但是最终是要编译成字节码在 JVM 运行 ...
- Dynamics 365中的Client API form context (formContext)
适用于Dynamics 365 for Customer Engagement apps 9.x版本. 本文是一篇翻译,原文来源是微软官方文档. 本文链接:https://www.cnblogs.co ...
- 使用 SQL 服务器时,"评估期已过期"错误消息
当打开sql server2008企业管理器的时候,出现报错“评估期已过.有关如何升级的测试版软件的信息.....” 修改注册表:HKEY_LOCAL_MACHINE/SOFTWARE/Microso ...
- Vue 04
目录 创建Vue项目 Vue项目环境搭建 Vue项目创建 pycharm配置并启动vue项目 vue项目目录结构分析 项目生命周期 添加组件-路由映射关系 文件式组件结构 配置全局css样式 子组件的 ...
- promise和axios
1.接口调用方式 原生ajax 基于jQuery的ajax fetch axios 异步 JavaScript的执行环境是「单线程」 所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的 ...
- Docker异常:/lib/x86_64-linux-gnu/libnss_files.so.2: symbol __libc_readline_unlocked, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference
当使用docker cp 将容器内数据拷贝至主机时,或是使用docker export 命令归档容器文件时,出现下述异常: Error response from daemon: error proc ...
- python面向对象-1
1.面向对象的思想优点 优点: 简化代码 ,构建公共模板 ,扩展性强 思想: 类作为模板 ,对象通过模板实例化对象 ,对象去做事 ,抽象将显示存在的事物使用代码体现 2.三大特性 封装(狭义) : 对 ...
- C lang: The caracter reverse
Ax_Code #include<stdio.h> int main(void) { int i; char string[7] = {"mrsoft"}; char ...
- idea开发时springboot项目时的自动编译和热部署
前提:最好将idea的启动器设置一下 操作:1.file > Build,Execution,Deployment > Compiler 勾选 Build project automati ...