Linux基本命令
操作系统使用文件系统来管理所有的文件。 文件系统中包括文件和文件夹(目录),文件夹是对文件进行分组的。
Linux系统中的文件系统是从一个源头发展出来的,我们把这个源头叫做根目录。
在终端窗口中用户随时和文件系统中的某个目录关联。
linux系统中每个帐号有一个私有目录,叫做这个帐号的home目录。使用~表示这个home目录
用某个帐号进入终端窗口后就和这个帐号的home关联。
linux系统中使用路径描述某个文件或者目录的位置。
路径分为绝对路径和相对路径两种。
绝对路径是从根目录开始描述的,例如 /home/tarena
相对路径是从任意一个目录开始描述的。
. 表示当前关联目录本身
.. 表示当前关联目录的父目录
目录名称 表示当前关联目录中的某个子目录
pwd命令可以查看当前关联的目录。
ls命令可以列出指定目录下的内容
命令格式:ls [选项] 目录路径
ls -a :列出路径下包含隐藏文件在内的所有内容
ls -l :列出目录下所有文件之许可权、拥有者、文件大小、修改时间及名称 ls -al :-a -l 合并使用
cat命令可以查看文件内容
命令格式:cat 文件名
tab键可以把命令中的路径补全。
用上下方向键可以列出以前执行过的所有命令。
cd命令可以改变工作目录位置。
命令格式:cd 目录路径
mkdir命令可以创建新目录
命令格式:mkdir 目录路径
-p选项可以把一个路径中多个不存在的目录一起创建出来
例如: mkdir -p 01 02 03
rmdir命令可以用来删除空文件夹
命令格式:rmdir 文件夹路径
使用如下命令删除不为空的文件夹
命令格式:rm -r 文件夹路径
rm命令可以删除一个文件
命令格式:rm 文件路径
rm file1 删除文件名为 file1 之文件。
rm file? 删除文件名中有五个字符,前四个字符为file 之所有文件。
rm f* 删除文件名中,以 f 为字首之所有文件。
通配符是特殊字符,可以在命令中用来表示多个路径中的差异部分。
?是一个通配符,可以表示单个字符的差异
*也是一个通配符,可以表示任意多个字符的差异
touch命令可以创建新文件也可以调整文件的最后修改时间
命令格式:touch 文件路径
注:文件路径不存在则创建新文件,否则为调整文件的最后修改时间
cp命令可以实现文件的拷贝粘贴效果
命令格式:cp 文件1路径 文件2路径
其中文件1是一个已经存在的文件,文件2是拷贝粘贴后形成的新文件
mv命令可以实现文件的剪切粘贴效果,使用方法类似cp命令
tar命令可以用来进行压缩
命令格式:tar zcvf 压缩文件名.tar.gz 路径1 路径2 ...
tar命令也可以用来解压缩
命令格式:tar zxvf 压缩文件名.tar.gz
clear命令可以清除屏幕上的所有文字内容
ln命令可以用来创建硬连接文件
命令格式:ln 文件1路径 文件2路径
文件1是已存在的文件,文件2是还不存在的文件
硬连接文件特点是可以独立存在
ln命令也可以用来创建软连接文件
命令格式:ln -s 文件1路径 文件2路径
软连接文件特点是不可以独立存在
ps命令可以查看系统进程
ps 或 ps –x (查看系统中,属于自己的 process)
ps –au (查看系统中,所有使用者的 process)
ps –aux (查看系统中,包含系统内部,及所有使用者的 process)
kill命令可以终止一个进程的执行,-9选项可以强制立刻终止任何进程
命令格式:kill [-9] PID ( PID 为利用 ps 命令所查出之 process ID)
man命令可以查询帮助说明
命令格式:man command-name
du命令查看目录所占磁盘容量
命令格式:du [-s] directory du dir1
显示目录 dir1 的总容量及其次目录的容量(以 k byte 为容量)。
du -s dir1 显示目录 dir1 的总容量。
linux系统中使用三组属性规定文件的使用方式
每组属性对应一种用户:属主,同组人,其他人
每组属性由三部分构成,分别代表读,写和执行功能,用r,w,x三个字母表示。
每组属性可以用一个数字表示(r对应4,w对应2,x对应1,-对应0) 可以使用ls -l 查看
chmod命令可以修改文件或目录的读、写、执行权限
命令格式:chmod [-R] mode name
name 可为文件名或目录名;
mode :rwx rwx rwx (二进制) r:read w:write x:execute
例如:chmod 664 文件路径
其中664是用三个数字分别表示的三组属性 664的二进制:110 110 100
chown命令可以改变文件或目录拥有者
命令格式:chown [-R] username name ( name 可为文件名或目录名)
例:chown user file1
将文件 file1 之拥有权,改为使用者 user 所有
chown -R user dir1
将目录 dir1,及其下所有文件和子目录之拥有权,改为使用者 user 所有
gourps命令可以查看自己所属群组的名称
命令格式:groups
chgrp命令可以改变文件或目录的群组拥有权
命令格式:chgrp [-R] groupname name ( name 可为文件名或目录名 )
例: chgrp vlsi file1
将文件 file1 之群组拥有权,改为 vlsi 群组
chgrp -R image dir1 将目录dir1,及其下所有文件和子目录,改为 image 群组
grep命令可以查找文件中的字符串
命令格式:grep 字符串 文件名
例: grep abc file1
寻找文件file1中,列出字串 abc 所在之整行文字内容
diff命令可以比较文件或目录内容的不同处
命令格式:diff [-r] name1 name2 ( name1 name2 可同时为文件名,或目录名称)
例: diff file1 file2
比较文件 file1 与 file2 内,各行之不同处
diff -r dir1 dir2 比较目录 dir1 与 dir2 内,各文件之不同处
su命令改变可以切换到其他使用者的账号
命令格式:su 账号
例如: su root 切换到超级用户 password:输入密码
whoami命令可以查看当前登录的用户名
命令格式:whoami
who命令主要用于查看当前在线上的用户情况 命令格式:who〔选项〕 常用选项 -a 显示所有用户的所有信息 -m 显示运行该程序的用户名,和“who am I”的作用一样 -q 只显示用户的登陆帐号和登陆用户的数量,该选项优先级高于其他任何选项 -u 在登陆用户后面显示该用户最后一次对系统进行操作距今的时间 -H 显示列标题
telnet 命令可以远程连接
命令格式:telnet ip-address
登录步骤
login:输入用户名
password:输入密码
登出步骤
logout或exit
Linux系统用户账号的管理
1.useradd 命令添加新的用户账号
命令格式:useradd 选项 用户名
其中各选项含义如下:
-c comment 指定一段注释性描述
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录
-g 用户组 指定用户所属的用户组
-G 用户组,用户组 指定用户所属的附加组
-s Shell文件 指定用户的登录Shell
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号
例1: useradd –d /usr/sam -m sam
此命令创建了一个用户sam, 其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)
例2: useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组, 同时又属于adm和root用户组,其中group用户组是其主组
2.userdel命令删除账号
命令格式:userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除
例如: userdel sam 此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录, 同时删除用户的主目录
3.usermod命令修改账号
命令格式:usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样
-l 新用户名 这个选项指定一个新的账号,即将原来的用户名改为新的用户名
例如: usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer
用户口令的管理
passwd命令可以修改用户口令(即密码)
命令格式:passwd 选项 用户名
可使用的选项:
-l 锁定口令,即禁用账号
-u 口令解锁。 -d 使账号无口令
-f 强迫用户下次登录时修改口令
超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。
例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
$passwd sam
New password:*******
Re-enter new password:*******
Linux系统用户组的管理 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理
不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组, 这个用户组在创建用户时同时创建
用户组的管理涉及用户组的添加、删除和修改。 组的增加、删除和修改实际上就是对/etc/group文件的更新
1.groupadd命令增加一个新的用户组
命令格式:groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同
例1: groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
例2: groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2.groupdel命令删除一个已有的用户组
命令格式:groupdel 用户组
例如: groupdel group1
此命令从系统中删除组group1。
3.groupmod命令修改用户组的属性
命令格式:groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同
-n新用户组 将用户组的名字改为新名字
例1: groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
例2: groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3。
4.newgrp命令可以切换用户的用户组,前提是用户属于要切换的目的用户组
命令格式:newgrp 用户组
例: newgrp root 这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。