mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-03-03 01:10:13 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
8f1a37c68f
@ -1,37 +1,32 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-11142-1.html)
|
||||
[#]: subject: (Type Linux Commands In Capital Letters To Run Them As Sudo User)
|
||||
[#]: via: (https://www.ostechnix.com/type-linux-commands-in-capital-letters-to-run-them-as-sudo-user/)
|
||||
[#]: author: (sk https://www.ostechnix.com/author/sk/)
|
||||
|
||||
用大写字母输入 Linux 命令以将其作为 Sudo 用户运行
|
||||
用大写字母输入 Linux 命令以将其作为 sudo 用户运行
|
||||
======
|
||||
|
||||
![Type Linux Commands In Capital Letters To Run Them As Sudo User][1]
|
||||
|
||||
我非常喜欢 Linux 社区的原因是他们创建了很多有趣的项目,你很少能在任何其他操作系统中找到它们。不久前,我们看了一个名为 [**“Hollywood”**][2] 的有趣项目,它在类 Ubuntu 系统将终端变成了好莱坞技术情景剧的黑客界面。还有一些其他工具,例如 **cowsay**、**fortune**、**sl** 和 **toilet** 等,用来打开时间和自娱自乐!它们可能没有用,但这些程序娱乐性不错并且使用起来很有趣。今天,我偶然发现了另一个名为 **“SUDO”** 的类似工具。正如名字暗示的那样,你无论何时用大写字母输入 Linux 命令,SUDO 程序都会将它们作为 sudo 用户运行!这意味着,你无需在要运行的 Linux 命令前面输入 “sudo”。很酷,不是么?
|
||||
|
||||
我非常喜欢 Linux 社区的原因是他们创建了很多有趣的项目,你很少能在任何其他操作系统中找到它们。不久前,我们看了一个名为 [Hollywood][2] 的有趣项目,它在类 Ubuntu 系统将终端变成了好莱坞技术情景剧的黑客界面。还有一些其他工具,例如 `cowsay`、`fortune`、`sl` 和 `toilet` 等,用来消磨时间自娱自乐!它们可能没有用,但这些程序娱乐性不错并且使用起来很有趣。今天,我偶然发现了另一个名为 `SUDO` 的类似工具。正如名字暗示的那样,你无论何时用大写字母输入 Linux 命令,`SUDO` 程序都会将它们作为 sudo 用户运行!这意味着,你无需在要运行的 Linux 命令前面输入 `sudo`。很酷,不是么?
|
||||
|
||||
### 安装 SUDO
|
||||
|
||||
* * *
|
||||
> 提醒一句:
|
||||
|
||||
**提醒一句:**
|
||||
> 在安装这个程序(或任何程序)之前,请查看源代码(最后给出的链接),并查看是否包含会损害你的系统的可疑/恶意代码。在 VM 中测试它。如果你喜欢或觉得它很有用,你可以在个人/生产系统中使用它。
|
||||
|
||||
在安装(或任何程序)之前,请查看源代码(最后给出的链接),并查看是否包含会损害你的系统的可疑/恶意代码。在 VM中 测试它。如果你喜欢或觉得它很有用,你可以在个人/生产系统中使用它。
|
||||
|
||||
* * *
|
||||
|
||||
用 Git 克隆 SUDO 仓库:
|
||||
用 Git 克隆 `SUDO` 仓库:
|
||||
|
||||
```
|
||||
$ git clone https://github.com/jthistle/SUDO.git
|
||||
```
|
||||
|
||||
此命令将克隆 SUDO GIT 仓库的内容,并将它们保存在当前目录下的 “SUDO” 的目录中。
|
||||
此命令将克隆 SUDO GIT 仓库的内容,并将它们保存在当前目录下的 `SUDO` 的目录中。
|
||||
|
||||
```
|
||||
Cloning into 'SUDO'...
|
||||
@ -42,7 +37,7 @@ remote: Total 42 (delta 17), reused 30 (delta 12), pack-reused 0
|
||||
Unpacking objects: 100% (42/42), done.
|
||||
```
|
||||
|
||||
切换到 SUDO 目录:
|
||||
切换到 `SUDO` 目录:
|
||||
|
||||
```
|
||||
$ cd SUDO/
|
||||
@ -54,7 +49,7 @@ $ cd SUDO/
|
||||
$ ./install.sh
|
||||
```
|
||||
|
||||
该命令将在 **~/.bashrc** 文件中添加以下行:
|
||||
该命令将在 `~/.bashrc` 文件中添加以下行:
|
||||
|
||||
```
|
||||
[...]
|
||||
@ -81,7 +76,7 @@ IFS=${IFS_}
|
||||
# end SUDO
|
||||
```
|
||||
|
||||
它还会备份你的 **~/.bashrc** 并将其保存为 **~/.bashrc.old**。如果有重大错误,你可以恢复它。
|
||||
它还会备份你的 `~/.bashrc` 并将其保存为 `~/.bashrc.old`。如果有重大错误,你可以恢复它。
|
||||
|
||||
最后,使用命令更新更改:
|
||||
|
||||
@ -97,46 +92,37 @@ $ source ~/.bashrc
|
||||
$ sudo mkdir /ostechnix
|
||||
```
|
||||
|
||||
对么?没错!上面的命令将在根目录(/)中创建名为 “ostechnix” 的目录。让我们使用 **Ctrl + c** 取消。
|
||||
对么?没错!上面的命令将在根目录(`/`)中创建名为 `ostechnix` 的目录。让我们使用 `Ctrl + c` 取消。
|
||||
|
||||
一旦安装了 SUDO,你就可以**在没有 sudo 的情况下输入任何大写 Linux 命令**并运行它们。因此,你可以像下面那样运行上面的命令:
|
||||
一旦安装了 `SUDO`,你就可以**在不使用 sudo 的情况下输入任何大写 Linux 命令**并运行它们。因此,你可以像下面那样运行上面的命令:
|
||||
|
||||
```
|
||||
$ MKDIR /ostechnix
|
||||
|
||||
$ TOUCH /ostechnix/test.txt
|
||||
|
||||
$ LS /ostechnix
|
||||
```
|
||||
|
||||
![][3]
|
||||
|
||||
用大写字母输入 Linux 命令以将其作为 Sudo 用户运行
|
||||
用大写字母输入 Linux 命令以将其作为 sudo 用户运行
|
||||
|
||||
请注意**它无法绕过 sudo 密码**。你仍然需要键入 sudo 密码才能执行给定的命令。它只会有助于避免在每个命令前面输入“sudo”。
|
||||
请注意**它无法绕过 sudo 密码**。你仍然需要键入 `sudo` 密码才能执行给定的命令。它只会有助于避免在每个命令前面输入 `sudo`。
|
||||
|
||||
* * *
|
||||
相关阅读:
|
||||
|
||||
**相关阅读:Related read:=**
|
||||
|
||||
* [**如何在 Linux 中没有 Sudo 密码运行特定命令**][4]
|
||||
* [**如何恢复用户的 Sudo 权限**][5]
|
||||
* [**如何在 Ubuntu 上为用户授予和删除 Sudo 权限**][6]
|
||||
* [**如何在 Linux 系统中查找所有 Sudo 用户**][7]
|
||||
* [**如何在终端中输入密码时显示星号**][8]
|
||||
* [**如何更改 Linux 中的 Sudo 提示符**][9]
|
||||
* [如何在 Linux 中没有 sudo 密码运行特定命令][4]
|
||||
* [如何恢复用户的 sudo 权限][5]
|
||||
* [如何在 Ubuntu 上为用户授予和删除 sudo 权限][6]
|
||||
* [如何在 Linux 系统中查找所有 sudo 用户][7]
|
||||
* [如何在终端中输入密码时显示星号][8]
|
||||
* [如何更改 Linux 中的 sudo 提示符][9]
|
||||
|
||||
|
||||
当然,输入 `sudo` 只需几秒钟,所以这不是什么大问题。 我必须告诉这是一个用来消磨时间的有趣且无用的项目。 如果你不喜欢它,那就去学习一些有用的东西吧。 如果你喜欢它,试一试,玩得开心!
|
||||
|
||||
* * *
|
||||
|
||||
当然,输入 “sudo” 只需几秒钟,所以这不是什么大问题。 我必须告诉这是一个用来消磨时间的有趣且无用的项目。 如果你不喜欢它,那就去学习一些有用的东西吧。 如果你喜欢它,试一试,玩得开心!
|
||||
|
||||
**资源:**
|
||||
|
||||
* [**SUDO GitHub 仓库**][10]
|
||||
|
||||
资源:
|
||||
|
||||
* [SUDO GitHub 仓库][10]
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@ -145,7 +131,7 @@ via: https://www.ostechnix.com/type-linux-commands-in-capital-letters-to-run-the
|
||||
作者:[sk][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -0,0 +1,48 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Gift ideas for Sysadmin Appreciation Day)
|
||||
[#]: via: (https://opensource.com/article/19/7/gift-ideas-sysadmin-appreciation-day)
|
||||
[#]: author: (Lauren Pritchett https://opensource.com/users/lauren-pritchetthttps://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/marcobravohttps://opensource.com/users/jamesf)
|
||||
|
||||
Gift ideas for Sysadmin Appreciation Day
|
||||
======
|
||||
What was the best gift you received as a sysadmin? Take our poll and
|
||||
check out some gift ideas for Sysadmin Appreciation Day.
|
||||
![Gift box opens with colors coming out][1]
|
||||
|
||||
Sysadmin Appreciation Day is coming up this Friday, July 26. To help honor sysadmins everywhere, we want you to share your best gift ideas. What would be the best way a team member or customer could show their appreciation for you? As a sysadmin, what was the best gift you've ever received? We asked our writers the same question, and here are their answers:
|
||||
|
||||
"Whilst working in the Ubuntu community on Edubuntu, I took it upon myself to develop the startup/shutdown sound scheme, which became the default in Ubuntu for, from what I can understand, the next decade. Whilst people had a love-hate relationship with my sound scheme, and rightly so, I had a love-hate relationship with my sound card during the development.
|
||||
|
||||
At the time I had recorded all my sound samples using one sample rate, but my new sound card, as my motherboard had exploded a few days earlier, did not support it. I had two choices, resample all my samples (which I didn't really want to do) or buy a new sound card.
|
||||
|
||||
After discussing my displeasure at the choices I faced in one of the Ubuntu channels, a very kind member of the community told me they would be happy to purchase a sound card for me, in thanks for all the work I had done on the sound scheme. However, I was not prepared for what showed up.
|
||||
|
||||
I had expected a run-of-the-mill, entry-level sound card that would get me through the difficulties. I received an M-audio Delta 1010, a truly amazing beast of a sound card which I joyfully used for many years after. Hands down the BEST gift I've received in appreciation of my Open Source efforts ever!" —Pete Savage
|
||||
|
||||
"Best gift: time off." —Chris Short
|
||||
|
||||
"At my very first job, the CTO would hand out little 1-inch plastic pelicans if you did a good job at something. And a gold-painted plastic pelican if it was an outstanding job. He only did it for a year, I think he probably ran out of pelicans. It was a small thing, but it was nice to have a little token to say 'Thank you.' And it was a conversation starter at work: 'You got a pelican. What did you do?'" —Jim Hall
|
||||
|
||||
Take our poll or let us know your own gift idea by leaving us a comment. If you are still looking for ideas, be sure to check out our [favorite sysadmin snack poll][2], too!
|
||||
|
||||
Some are creative and encourage productivity, and others just inspire creativity. Some are just...
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/19/7/gift-ideas-sysadmin-appreciation-day
|
||||
|
||||
作者:[Lauren Pritchett][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/lauren-pritchetthttps://opensource.com/users/sethhttps://opensource.com/users/sethhttps://opensource.com/users/marcobravohttps://opensource.com/users/jamesf
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/OSDC_gift_giveaway_box_520x292.png?itok=w1YQhNH1 (Gift box opens with colors coming out)
|
||||
[2]: https://opensource.com/article/19/7/sysadmins-snack-on-call
|
222
sources/tech/20190723 Getting help for Linux shell built-ins.md
Normal file
222
sources/tech/20190723 Getting help for Linux shell built-ins.md
Normal file
@ -0,0 +1,222 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Getting help for Linux shell built-ins)
|
||||
[#]: via: (https://www.networkworld.com/article/3410350/getting-help-for-linux-shell-built-ins.html)
|
||||
[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/)
|
||||
|
||||
Getting help for Linux shell built-ins
|
||||
======
|
||||
Linux built-ins are commands that are part of a user’s shell. Here's an explanation on how to recognize them and get help on their use.
|
||||
![Sandra Henry-Stocker][1]
|
||||
|
||||
Linux built-ins are commands that are built into the shell, much like shelves that are built into a wall. You won’t find them as stand-alone files the way standard Linux commands are stored in /usr/bin and you probably use quite a few of them without ever questioning how they’re different from commands such as **ls** and **pwd**.
|
||||
|
||||
Built-ins are used just like other Linux commands. They are likely to run a bit faster than similar commands that are not part of your shell. Bash built-ins include commands such as **alias**, **export** and **bg**.
|
||||
|
||||
**[ Two-Minute Linux Tips: [Learn how to master a host of Linux commands in these 2-minute video tutorials][2] ]**
|
||||
|
||||
As you might suspect, because built-ins are shell-specific, they won't be supplied with man pages. Ask **man** to help with **bg** and you'll see something like this:
|
||||
|
||||
```
|
||||
$ man bg
|
||||
No manual entry for bg
|
||||
```
|
||||
|
||||
Another tip-off that a command is a built-in is when you use the **which** command to identify the source of the command. Bash's non-response will remind you that there is no file associated with the built-in:
|
||||
|
||||
```
|
||||
$ which bg
|
||||
$
|
||||
```
|
||||
|
||||
If your shell is **/bin/zsh**, on the other hand, you might get a slightly more illuminating response:
|
||||
|
||||
```
|
||||
% which bg
|
||||
bg: shell built-in command
|
||||
```
|
||||
|
||||
Additional help is available with bash, but it comes through the use of the **help** command:
|
||||
|
||||
```
|
||||
$ help bg
|
||||
bg: bg [job_spec ...]
|
||||
Move jobs to the background.
|
||||
|
||||
Place the jobs identified by each JOB_SPEC in the background, as if they
|
||||
had been started with `&'. If JOB_SPEC is not present, the shell's notion
|
||||
of the current job is used.
|
||||
|
||||
Exit Status:
|
||||
Returns success unless job control is not enabled or an error occurs.
|
||||
```
|
||||
|
||||
If you want to see a list of all of the built-ins that bash provides, use the **compgen -b** command. Pipe the output to column for a nicely formatted listing.
|
||||
|
||||
```
|
||||
$ compgen -b | column
|
||||
. compgen exit let return typeset
|
||||
: complete export local set ulimit
|
||||
[ compopt false logout shift umask
|
||||
alias continue fc mapfile shopt unalias
|
||||
bg declare fg popd source unset
|
||||
bind dirs getopts printf suspend wait
|
||||
break disown hash pushd test
|
||||
builtin echo help pwd times
|
||||
caller enable history read trap
|
||||
cd eval jobs readarray true
|
||||
command exec kill readonly type
|
||||
```
|
||||
|
||||
If you use the **help** command, you’ll see a list of built-ins along with short descriptions. This list is, however, truncated (ending with the **help** command):
|
||||
|
||||
```
|
||||
$ help
|
||||
GNU bash, version 5.0.3(1)-release (x86_64-pc-linux-gnu)
|
||||
These shell commands are defined internally. Type `help' to see this list.
|
||||
Type `help name' to find out more about the function `name'.
|
||||
Use `info bash' to find out more about the shell in general.
|
||||
Use `man -k' or `info' to find out more about commands not in this list.
|
||||
|
||||
A star (*) next to a name means that the command is disabled.
|
||||
|
||||
job_spec [&] history [-c] [-d offset] [n] or histo>
|
||||
(( expression )) if COMMANDS; then COMMANDS; [ elif CO>
|
||||
. filename [arguments] jobs [-lnprs] [jobspec ...] or jobs ->
|
||||
: kill [-s sigspec | -n signum | -sigsp>
|
||||
[ arg... ] let arg [arg ...]
|
||||
[[ expression ]] local [option] name[=value] ...
|
||||
alias [-p] [name[=value] ... ] logout [n]
|
||||
bg [job_spec ...] mapfile [-d delim] [-n count] [-O ori>
|
||||
bind [-lpsvPSVX] [-m keymap] [-f filen> popd [-n] [+N | -N]
|
||||
break [n] printf [-v var] format [arguments]
|
||||
builtin [shell-builtin [arg ...]] pushd [-n] [+N | -N | dir]
|
||||
caller [expr] pwd [-LP]
|
||||
case WORD in [PATTERN [| PATTERN]...) > read [-ers] [-a array] [-d delim] [-i>
|
||||
cd [-L|[-P [-e]] [-@]] [dir] readarray [-d delim] [-n count] [-O o>
|
||||
command [-pVv] command [arg ...] readonly [-aAf] [name[=value] ...] or>
|
||||
compgen [-abcdefgjksuv] [-o option] [-> return [n]
|
||||
complete [-abcdefgjksuv] [-pr] [-DEI] > select NAME [in WORDS ... ;] do COMMA>
|
||||
compopt [-o|+o option] [-DEI] [name ..> set [-abefhkmnptuvxBCHP] [-o option-n>
|
||||
continue [n] shift [n]
|
||||
coproc [NAME] command [redirections] shopt [-pqsu] [-o] [optname ...]
|
||||
declare [-aAfFgilnrtux] [-p] [name[=va> source filename [arguments]
|
||||
dirs [-clpv] [+N] [-N] suspend [-f]
|
||||
disown [-h] [-ar] [jobspec ... | pid . <p>'> test [expr]
|
||||
echo [-neE] [arg ...] time [-p] pipeline
|
||||
enable [-a] [-dnps] [-f filename] [nam> times
|
||||
eval [arg ...] trap [-lp] [[arg] signal_spec ...]
|
||||
exec [-cl] [-a name] [command [argumen> true
|
||||
exit [n] type [-afptP] name [name ...]
|
||||
export [-fn] [name[=value] ...] or exp> typeset [-aAfFgilnrtux] [-p] name[=va>
|
||||
false ulimit [-SHabcdefiklmnpqrstuvxPT] [li>
|
||||
fc [-e ename] [-lnr] [first] [last] or> umask [-p] [-S] [mode]
|
||||
fg [job_spec] unalias [-a] name [name ...]
|
||||
for NAME [in WORDS ... ] ; do COMMANDS> unset [-f] [-v] [-n] [name ...]
|
||||
for (( exp1; exp2; exp3 )); do COMMAND> until COMMANDS; do COMMANDS; done
|
||||
function name { COMMANDS ; } or name (> variables - Names and meanings of som>
|
||||
getopts optstring name [arg] wait [-fn] [id ...]
|
||||
hash [-lr] [-p pathname] [-dt] [name .> while COMMANDS; do COMMANDS; done
|
||||
help [-dms] [pattern ...] { COMMANDS ; }
|
||||
```
|
||||
|
||||
As you can see from the listings above, the **help** command is itself a built-in.
|
||||
|
||||
You can get more information on any of these built-ins by providing the **help** command with the name of the built-in you're curious about — as in **help dirs**.
|
||||
|
||||
```
|
||||
$ help dirs
|
||||
dirs: dirs [-clpv] [+N] [-N]
|
||||
Display directory stack.
|
||||
|
||||
Display the list of currently remembered directories. Directories
|
||||
find their way onto the list with the `pushd' command; you can get
|
||||
back up through the list with the `popd' command.
|
||||
|
||||
Options:
|
||||
-c clear the directory stack by deleting all of the elements
|
||||
-l do not print tilde-prefixed versions of directories relative
|
||||
to your home directory
|
||||
-p print the directory stack with one entry per line
|
||||
-v print the directory stack with one entry per line prefixed
|
||||
with its position in the stack
|
||||
|
||||
Arguments:
|
||||
+N Displays the Nth entry counting from the left of the list
|
||||
shown by dirs when invoked without options, starting with
|
||||
zero.
|
||||
|
||||
-N Displays the Nth entry counting from the right of the list
|
||||
shown by dirs when invoked without options, starting with
|
||||
zero.
|
||||
|
||||
Exit Status:
|
||||
Returns success unless an invalid option is supplied or an error occurs.
|
||||
```
|
||||
|
||||
Built-ins provide much of the functionality of each shell. Any shell you use will have some built-ins, though how to get information on these built-ins may differ from shell to shell. For **zsh**, for example, you can get a description of built-in commands by using the **man zshbuiltins** command.
|
||||
|
||||
```
|
||||
$ man zshbuiltins
|
||||
|
||||
ZSHBUILTINS(1) General Commands Manual ZSHBUILTINS(1)
|
||||
|
||||
NAME
|
||||
zshbuiltins - zsh built-in commands
|
||||
|
||||
SHELL BUILTIN COMMANDS
|
||||
Some shell builtin commands take options as described in individual en‐
|
||||
tries; these are often referred to in the list below as `flags' to avoid
|
||||
confusion with shell options, which may also have an effect on the behav‐
|
||||
iour of builtin commands. In this introductory section, `option' always
|
||||
has the meaning of an option to a command that should be familiar to most
|
||||
command line users.
|
||||
…
|
||||
```
|
||||
|
||||
Within this lengthy man page, you will find a list of built-ins with useful descriptions as in this excerpt.
|
||||
|
||||
```
|
||||
bg [ job ... ]
|
||||
job ... &
|
||||
Put each specified job in the background, or the current job if
|
||||
none is specified.
|
||||
|
||||
bindkey
|
||||
See the section `Zle Builtins' in zshzle(1).
|
||||
|
||||
break [ n ]
|
||||
Exit from an enclosing for, while, until, select or repeat loop.
|
||||
If an arithmetic expression n is specified, then break n levels
|
||||
instead of just one.
|
||||
```
|
||||
|
||||
### Wrap-up
|
||||
|
||||
Linux built-ins are essential to each shell and operate like shell-specific commands. If you use a different shell from time to time and notice that some command you often use doesn’t seem to exist or doesn’t work as you were expecting, it just might be that it's one of your normal shell's built-ins.
|
||||
|
||||
**[ Also see: [Invaluable tips and tricks for troubleshooting Linux][3] ]**
|
||||
|
||||
Join the Network World communities on [Facebook][4] and [LinkedIn][5] to comment on topics that are top of mind.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://www.networkworld.com/article/3410350/getting-help-for-linux-shell-built-ins.html
|
||||
|
||||
作者:[Sandra Henry-Stocker][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://www.networkworld.com/author/Sandra-Henry_Stocker/
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://images.idgesg.net/images/article/2019/07/linux_penguin-100802549-large.jpg
|
||||
[2]: https://www.youtube.com/playlist?list=PL7D2RMSmRO9J8OTpjFECi8DJiTQdd4hua
|
||||
[3]: https://www.networkworld.com/article/3242170/linux/invaluable-tips-and-tricks-for-troubleshooting-linux.html
|
||||
[4]: https://www.facebook.com/NetworkWorld/
|
||||
[5]: https://www.linkedin.com/company/network-world
|
Loading…
Reference in New Issue
Block a user