大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
在Linux中,切换用户到相同路径可以使用以下命令:
10年积累的成都网站制作、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有淮滨免费网站建设让你可以放心的选择与我们合作。
plaintext
Copy code
su - 用户名 -c "cd 当前目录; 命令"
其中,用户名是要切换到的用户的用户名,当前目录是当前所在的目录,命令是要执行的命令。执行该命令后,会先切换到指定的用户,然后进入当前目录,并执行命令。
例如,要切换到用户test,并在当前目录下执行ls命令,可以使用以下命令:
plaintext
Copy code
su - test -c "cd $(pwd); ls"
其中,$(pwd)表示当前目录。
是指定内容吗?可以用vi打开这个文件,如果想将内容a替换为b,可以输入:%s/a/b/g
pwd命令用于显示当前的工作目录。
$ pwd [选项]
如果没有指定选项,则默认为 -P ,也就是显示绝对路径。
cd命令用于切换工作路径。
$ cd [目录名称]
常用的有返回上级目录:
$ cd ..
返回上一次的目录:
$ cd -
返回当前用户的home目录:
$ cd ~ 或者 $ cd
ls命令用于查看目录中有哪些文件。
ls [选项] [文件]
(1) $ ls -a
查看全部文件,包括隐藏文件,有些文件(如记录历史命令的.bash_history文件)是隐藏的,直接用ls不会显示出来,这时就需要加上 -a 参数。
(2) $ ls -d
仅看目录本身,例如,输入命令 $ ls -d /etc ,输出结果为 /etc ,而不会显示/etc目录中的文件。
(3) $ ls -l
显示文件的详细信息,包括文件的类型权限、被引用次数、所属用户名、所属组名、文件大小、最后一次修改时间、文件名。
如果我们要查看某个目录本身的详细信息,我们就可以用 -l 和 -d 这两个参数:
(4) $ ls -n
这个命令也是显示文件的详细信息,不过跟上一个不同的是,显示的是用户id和组id,而不是用户名和组名。
只要玩过linux的命令行,切换个目录那简直是小菜一碟,直接cd命令就搞定了,但是除了简单的cd命令,还有许多其他的命令,能够令你的操作更加方便快捷。
假设一种情况,一个文件A存放在了第十层目录ten中,经过千辛万苦好不容易进入了ten,结果一不小心敲入了一个cd命令,看着光标在根目录下闪烁,是不是很无奈呢?难道要再千辛万苦的敲一堆路径重新进到ten目录?
不必这么麻烦,输入“cd -”,看看是不是回到刚才的路径呢?
注:“cd -”能完成当前目录和之前所在的目录之间的切换
另外一个方便路径切换的命令就是pushd,可以完成多个不同路径之间的切换.
如果我希望在/usr和/etc/ssh和/etc/rc.d和当前路径之间切换,则可以在命令行下输入:
pushd /usr
/usr ~
pushd /etc/ssh
/etc/ssh /usr ~
pushd /etc/rc.d
/etc/rc.d /etc/ssh /usr ~
pushd会自动把当前路径加入到可切换路径中。执行dirs,可以看到显示四个路径:
dirs
/etc/rc.d /etc/ssh /usr ~
输入pushd,既可以在前两个路径之间相互切换。
如果想切换到最后一个(栈底)路径时 pushd +2即可。
pushd
/etc/ssh /etc/rc.d /usr ~
pushd
/etc/rc.d /etc/ssh /usr ~
pushd +2
/usr ~ /etc/rc.d /etc/ssh
如果想清空这些路径,执行dirs -c即可。
dirs -c
dirs
/usr
如果你需要从堆栈中删除一个目录,键入popd,然后是目录名称,再按回车键
在Linux的多目录命令提示符中工作是一种痛苦的事情,但以下这些利用cd和pushd切换目录的技巧有助于你节省时间和精力 。
在Linux命令提示中,用cd命令来改变当前目录。这是cd命令的一些基本用法:
改变你的根路径,键入cd,按回车键。
进入一个子目录,键入cd,空格,然后是子路径名(例如:cd Documents),再按回车键。
进入当前目录的上一级目录,键入cd,空格,两个点,然后按回车键。
进入一个特定的目录,键入cd,空格,路径名(例如 cd /usr/local/lib),再按回车键。
为了确定你所在的目录,你可以键入pwd,按回车键,你将看到你所在的当前目录名称。
用pushd实现在不同目录间切换。
在命令行模式下,当你工作在不同目录中,你将发现你有很多时间都浪费在重复输入上。如果这些目录不在同一个根目录中,你不得不在转换时输入完整的路径名,这难免让人有些难以忍受。但你可以用以下的一个或两个步骤来避免所有多余的输入:用命令行解释器中的历史记录,或者用命令行函数pushd。
用命令行解释器中的历史记录的好处是只需按很少的键。在命令行中用向上的箭头来查找你用过的命令,直到你找到,然后按回车键。如果你所切换的两个目录在整个驱动器的'子目录结构中很接近,那用解释器中的历史记录可能是你最好的选择。
然而,如果你在两个截然不同的路径间转换的话,你可能很希望利用pushd这个函数,你可以用它创建一个目录堆栈(在内存中的一个列表)。
注释:缺省情况下,pushd函数可能不包括在你的Linux中;但它包涵在Red Hat和用Red Hat驱动的系统中。如果你的系统中没有pushd函数,你可以在ibiblio.org网站上下载相关的函数工具。
这里说一下怎么用pushd。假设你现在工作在/usr/share/fonts目录下。你需要对/usr/share/fonts做一些改动,你将频繁的在两个目录间切换。开始在一个目录下,用pushd函数切换到另一个目录。在我们的例子中,开始在/usr/share/fonts下,你键入pushd/opt/wonderword/fonts,然后按回车键。现在,你将在下一行看到堆栈中的内容:
/opt/wonderword/fonts /usr/share/fonts
正如你所看到的,当你键入pushd和一个路径名时,将自动产生一个堆栈,内容是你键入的目录名和你当前工作的目录名。在我们的例子中,你所键入的路径(/opt/wonderword/fonts)在堆栈的顶部。
快速返回上一级目录,你可以直接键入pushd,如果不跟路径名,你将返回到堆栈中前一个目录的上一层目录。
如果你需要从堆栈中删除一个目录,键入popd,然后是目录名称,再按回车键。想查看堆栈中目录列表,键入dirs,然后按回车键。popd和dirs命令也是常用函数中的一部分。