.表示执行的意思,就是执行这个文件。
./呢就表示执行当前目录下的某个文件,就比如当前目录有一个脚本a.sh,那么./a.sh就表示执行它。
不加参数时,默认切换到用户主目录,即环境变量HOME指定的目录,如root用户的HOME变量为/root,那么cd命令不带参数时便切换到/root目录下。
绝对路径是从跟目录开始的,如/root或/home/sgl,相对路径是相对于当前路径来说的。
假如当前目录在/home/guo下面,那么前面的/home/sgl的相对路径就是../sgl,即当前目录的上级目录下的sgl目录。
(1)linux中的扩展阅读:
参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。
../ 和 ./ 代表的 是上级目录以及当前目录。
处在当前目录复制当前目录下文件到别的目录。
cp_文件名称_别的文件目录路径。"_"是空格
举个例子:在orz文件夹下有两个子文件夹a和b,a中有文件x.c,b中无文件。
B. linux中的.*代表什么意思
*(星号)是linux中的通配符,代表一个或一个以上的所有字符。linux的隐藏文件和隐藏文件夹都是以.(点号)开头,所以.*应该是代表当前目录下的所有隐藏目录和隐藏文件夹。
如果是./*则表示当前目录下的所有文件和所有目录,因为.(点号)还有代表当前目录的意思。
C. linux中有哪些命令是经常用的
常用命令——
1、date :打印或者设置系统的日期和时间
2、 stty -a:可以查看或者打印控制字符(Ctrl-C、Ctrl-D、 Ctrl-Z等)
3、 passwd:用passwd -h查看
4、logout,login: 登录shell的登录和注销命令
5、 more, less, head tail: 显示或部分显示文件内容
6、 lp/lpstat/cancel, lpr/lpq/lprm: 打印文件
7、 chmod u+x:更改文件权限
8、 rm -fr dir:删除非空目录
9、cp -R dir:拷贝目录
10、 fg jobid :可以将一个后台进程放到前台
11、 kill 的作用: send a signal to a process、 eg: kill -9 发送的是SIG_KILL信号,具体发送什么信号 可以通过 man kill 查看。
12、 ps 的用法: ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称)
(3)linux中的扩展阅读:
linux系统特点——
1、基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
2、完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
3、完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
4、多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权力,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
5、良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
6、支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
D. linux 中 ‘|’的作用是什么
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。下面来看看管道是如何在构造一条Linux命令中得到应用的。
1.利用一个管道
# rpm -qa|grep licq
这条命令使用一个管道符“|”建立了一个管道。管道将rpm -qa命令的输出(包括系统中所有安装的RPM包)作为grep命令的输入,从而列出带有licq字符的RPM包来。
4.利用多个管道
# cat /etc/passwd | grep /bin/bash | wc -l
这条命令使用了两个管道,利用第一个管道将cat命令(显示passwd文件的内容)的输出送给grep命令,grep命令找出含有“/bin /bash”的所有行;第二个管道将grep的输出送给wc命令,wc命令统计出输入中的行数。这个命令的功能在于找出系统中有多少个用户使用bash。
E. Linux中的./是什么意思
Linux中“./”在系统文件中表示绝对路径的意思。
linux系统中,所有的文件与目录都是由根目录/开始,不是以/开头的就是相对路径;
1、“.”表示当前目录,也可以用“./”表示;
2、“..”表示上一级目录,也可以用“../”表示;
3、“~” 代表用户自己的宿主目录;
4、“/”处于Linux文件系统树形结构的最顶端,我们称它为Linux文件系统的root,它是Linux文件系统的入口。
所有的目录、文件、设备都在/之下,它是Linux文件系统最顶层的唯一的目录;
一般建议在根目录下面只有目录,不要直接存放文件;根目录是linux系统启动时系统第一个载入的分区,所以启动过程中用到的文件应该都放在这个分区中。
其中/etc、/bin、/dev、/lib、/sbin这5个子目录都应该要与根目录连在一起,不可独立成为某个分区。
(5)linux中的扩展阅读:
linux有四种基本文件系统类型:
1、普通文件:如文本文件、c语言源代码、shell脚本等,可以用cat、less、more、vi等来察看内容,用mv来改名;
2、目录文件:包括文件名、子目录名及其指针,可以用ls列出目录文件;
3、链接文件:是指向一索引节点的那些目录条目,用ls来查看时,链接文件的标志用l开头,而文件后以"->"指向所链接的文件;
4、特殊文件:如磁盘、终端、打印机等都在文件系统中表示出来,常放在/dev目录内;
可以用file命令来识别。
F. linux中的"~"是什么意思
~代表用户的/home/用户明目录。
假设你的用户名是x,那么~/就是/home/x/
.是代表此目录本身,但是一般可以不写;所以cd ~/. 和cd ~ 和cd ~/效果是一样的。但是.后面有东西又是另外一个问题,点在文件名头部,代表一个隐藏文件。
~/.local是你的主目录下一个.local的文件夹的路径,并且从.可以看出,这是一个饮藏文件,如果不用ls -a的话,一般ls是无法看到的。
~ 是一个代位符,表明的是个人目录的地址,因为每个用户都有自己的个人目录地址,所以用 ~ 作为统一替代这个根据用户不同而不同但有规可循的地址,来保证某些情况下的兼容问题。
(6)linux中的扩展阅读
在Linux中,所有的东西都是以文件的形式存储在计算机中,所以要找到Linux里面的文件,就需要用到路径。路径又分为绝对路径和相对路径。
绝对路径就是文件在计算机中所处的完整位置,如"passwd"配置文件的绝对路径就是"/etc/passwd",相对路径就是文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值。
Linux常用命令:
1、新建文件【增】touch
命令:touch 文件名
示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt
2、删除文件 【删】 rm
命令:rm -rf 文件名
3、打开文件
命令:vi 文件名
示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
G. linux中的 代表什么权限
Linux的用户在登录(login)之后,就带有一个用户身份(user ID, UID)和一个组身份(group ID, GID)。在Linux文件管理背景知识中,我们又看到,每个文件又有九位的权限说明,用来指明该文件允许哪些用户执行哪些操作(读、写或者执行)。
(参考Linux文件管理背景知识)
一般来说,Linux的用户信息保存在/etc/passwd中,组信息保存在/etc/group中,文件的每一行代表一个用户/组。早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在则多以暗码(也就是加密之后的形式)的形式保存在/etc/shadow中。将密码存储在/etc/shadow中提高了密码的安全性,因为/etc/passwd允许所有人查看,而/etc/shadow只允许root用户查看。
进程权限
但是,在Linux中,用户的指令是在进程的范围内进行的。当我们向对某个文件进行操作的时候,我们需要在进程中运行一个程序,在进程中对文件打开,并进行读、写或者执行的操作。因此,我们需要将用户的权限传递给进程,以便进程真正去执行操作。例如我们有一个文件a.txt, 文件中为一个字符串:
Hello world!
我以用户Vamei的身份登录,并在shell中运行如下命令:
$cat a.txt
整个运行过程以及文件读取如下:
我们可以看到,整个过程中我们会有两个进程,一个是shell本身(2256),一个是shell复制自身,再运行/bin/cat (9913)。图中的fork, exec, PID可参看Linux进程基础。第二个进程总共对文件系统进行了两次操作,一次是执行(x)文件/bin/cat,另外一次是读取(r)文件a.txt。使用$ls -l 查看这两个文件的权限:
$ls -l /bin/cat
-rwxr-xr-x 1 root root 46764 Apr 1 2012 /bin/cat
$ls -l a.txt
-rw-rw-r-- 1 Vamei Vamei 14 Oct 7 09:14 a.txt
从上面可以看到(参考Linux文件管理背景知识),/bin/cat让所有用户都享有执行的权利,而Vamei作为a.txt的拥有者,对a.txt享有读取的权利。
让我们进入更多的细节 (The devil is in the details)。在进行这两次操作的时候,尽管用户Vamei拥有相应的权限,但我们发现,真正做工作的是进程9913。我们要让这个进程得到相应的权限。实际上,每个进程会维护有如下6个ID:
真实身份: real UID, real GID
有效身份: effective UID, effective GID
存储身份:saved UID, saved GID
其中,真实身份是我们登录使用的身份,有效身份是当该进程真正去操作文件时所检查的身份,存储身份较为特殊,我们等一下再深入。当进程fork的时候,真实身份和有效身份都会复制给子进程。大部分情况下,真实身份和有效身份都相同。当Linux完成开机启动之后,init进程会执行一个login的子进程。我们将用户名和密码传递给login子进程。login在查询了/etc/passwd和/etc/shadow,并确定了其合法性之后,运行(利用exec)一个shell进程,shell进程真实身份被设置成为该用户的身份。由于此后fork此shell进程的子进程都会继承真实身份,所以该真实身份会持续下去,直到我们登出并以其他身份再次登录(当我们使用su成为root的时候,实际上就是以root身份再次登录,此后真实身份成为root)。
最小权限原则
每个进程为什么不简单地只维护真实身份,却选择费尽麻烦地去维护有效身份和存储身份呢?这牵涉到Linux的“最小特权”(least priviledge)的原则。Linux通常希望进程只拥有足够完成其工作的特权,而不希望赋予更多的特权给它。从设计上来说,最简单的是赋予每个进程以super user的特权,这样进程就可以想做什么做什么。然而,这对于系统来说是一个巨大的安全漏洞,特别是在多用户环境下,如果每个用户都享有无限制的特权,就很容易破坏其他用户的文件或者系统本身。“最小特权”就是收缩进程所享有的特权,以防进程滥用特权。
然而,进程的不同阶段可能需要不同的特权。比如一个进程最开始的有效身份是真实身份,但运行到中间的时候,需要以其他的用户身份读入某些配置文件,然后再进行其他的操作。为了防止其他的用户身份被滥用,我们需要在操作之前,让进程的有效身份变更回来成为真实身份。这样,进程需要在两个身份之间变化。
存储身份就是真实身份之外的另一个身份。当我们将一个程序文件执行成为进程的时候,该程序文件的拥有者(owner)和拥有组(owner group)可以被,存储成为进程的存储身份。在随后进程的运行过程中,进程就将可以选择将真实身份或者存储身份复制到有效身份,以拥有真实身份或者存储身份的权限。并不是所有的程序文件在执行的过程都设置存储身份的。需要这么做的程序文件会在其九位(bit)权限的执行位的x改为s。这时,这一位(bit)叫做set UID bit或者set GID bit。
$ls -l /usr/bin/uuidd
-rwsr-sr-x 1 libuuid libuuid 17976 Mar 30 2012 /usr/sbin/uuidd
当我以root(UID), root(GID)的真实身份运行这个程序的时候,由于拥有者(owner)有s位的设定,所以saved UID被设置成为libuuid,saved GID被设置成为libuuid。这样,uuidd的进程就可以在两个身份之间切换。
我们通常使用chmod来修改set-UID bit和set-GID bit:
$chmod 4700 file
我们看到,这里的chmod后面不再只是三位的数字。最前面一位用于处理set-UID bit/set-GID bit,它可以被设置成为4/2/1以及或者上面数字的和。4表示为set UID bit, 2表示为set GID bit,1表示为sticky bit (暂时不介绍)。必须要先有x位的基础上,才能设置s位。
H. linux命令中的“<”和“|”是什么意思
”<” 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备。
”| ”则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边。
I. linux中的^符号代表什么意思
在不同的场景中代表不同的意义
^代表行首$代表行尾
但是在正则表达式中[^f]表示反选就是除了f以外匹配到的!详细介绍的话看下 Linux就该这么学 吧
J. Linux中的 /#和#的区别
Linux中的 /#和#的区别为:执行路径不同、使用用户不同、切换不同。
一、执行路径不同
1、/#:/#的路径目录是根目录,在绝对路径根目录下执行操作。
2、#:#的路径目录是家目录,在相对路径家目录下执行操作。
二、使用用户不同
1、/#:/#针对的使用用户为系统默认创建的用户,即root用户。
2、#:#针对的使用用户为于非系统默认创建的该用户。
三、切换不同
1、/#:/#可以直接切换到其他路径目录下,不需要退回到上级路径目录。
2、#:#不可以直接切换到其他路径目录下,需要退回到上级路径目录。