Centos7常用命令整合版
文件操作:
cd /home 进入 ‘/ home’ 目录’
cd … 返回上一级目录
cd …/… 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
mkdir dir1 创建一个叫做 ‘dir1’ 的目录’
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 ‘file1’ 的文件’
rmdir dir1 删除一个叫做 ‘dir1’ 的目录’
rm -rf dir1 删除一个叫做 ‘dir1’ 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch file1 创建一个文件
压缩与解压缩:
tar xvf wordpress.tar 解压tar格式的文件
tar -tvf myfile.tar 查看tar文件中包含的文件
tar cf toole.tar tool 把tool目录打包为toole.tar文件
tar cfz xwyme.tar.gz tool #把tool目录打包且压缩为xwyme.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB
tar jcvf /var/bak/www.tar.bz2 /var/www/ 创建.tar.bz2文件,压缩率高
tar xjf www.tar.bz2 解压tar.bz2格式
gzip -d ge.tar.gz 解压.tar.gz文件为.tar文件
unzip phpbb.zip 解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的
bunzip2 file1.bz2 解压一个叫做 ‘file1.bz2′的文件
bzip2 file1 压缩一个叫做 ‘file1′ 的文件
gunzip file1.gz 解压一个叫做 ‘file1.gz’的文件
gzip file1 压缩一个叫做 ‘file1′的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1′, ‘file2′ 以及目录 ‘dir1′
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 ‘file1′, ‘file2′ 以及 ‘dir1′的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
用户操作
cut -d : -f 1 /etc/passwd # 输出所有用户名
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 # 输出可登陆的用户名
cat /ect/passwd # 输出用户信息
useradd -h # useradd命令帮助
useradd username # 添加一个用户username
passwd username # 设置用户密码
useradd username -g groupname # 添加一个用户并加入group组中,组不存在会报错
useradd username -g groupname -s /bin/false # 创建不登陆的用户
useradd username -g groupname -s /sbin/nologin # 创建不登陆的用户
useradd mysql -g mysql -s /bin/false -r # 创建系统用户,且不用登陆,系统用户是不会创建用户目录的
usermod -h # usermod命令帮助
usermod username -l username2 # 修改用户username登陆名为username2
usermod username -l username2 -d /home/username2 -m # 修改用户名、home目录
usermod username -g groupname # 修改用户组
userdel -h # userdel命令帮助
userdel username # 删除用户,家目录和邮箱目录会被保留,再次创建该用户时会报错
userdel -r username # 删除用户,家目录和邮箱目录同步删除
su - username # 切换登陆用户
last # 查看用户登陆记录
用户组操作
cut -d : -f 1 /etc/group # 列出用户组名
cat /etc/group # 输出用户组文件内存
groupadd -h # groupadd命令帮助
groupadd test # 添加test用户组
groupmod -h # groupmod命令帮助
groupmod test -n mytest # 将test用户组改名为mytest
groupdel -h # groupdel命令帮助
groupdel test # 删除test用户组,组不存在会报错
用户和群组相关命令
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 “admin” 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( ‘-r’ 同时删除除主目录)
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
ls -lh 显示权限
chmod 777 directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod 700 directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性,为use1。
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性都为use1所有
chgrp group1 file1 改变文件的群组为group1
chown user1:group1 file1 改变一个文件的所有人和群组属性,所属组为group1,用户为use1。
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 ‘more’ 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
head -2 file | tail -1查看file文件的第2行
查看文件属性
在平时使用Linux系统中,我们最常用的命令就是“ls”,它的重点在于显示文件的文件名和相关属性,当附加-al参数时,可以查看到所有具体的文件属性,例如,如下图:
(1)第一栏:文件类型与权限
仔细查看可以可以发现,第一栏“dr-xr-xr-x”总共有十个字符,下面对这十个字符做简单的介绍。
1)第1个字符:文件类型,比如这里显示是d,说明是目录,事实上可以是l:链接文件,c:字符文件,-:普通文件,b:块设备文件等等。
2)第2至4字符(r-x):文件拥有者权限,其中,r表示可读(read),w表示可写(write),x表示可执行权限。而如果没有权限,则出现**-,比如此处,没有出现w**,说明文件所有者不具备写权限。
3)第5至7字符(r-x): 所属组权限,表示该文件所属组的用户的组权限,权限说明同上。
4)第8至10字符(r-x): 其他用户权限,即非本人且没有加入本用户组的其他账号的权限,权限说明同上。
(2)第二栏:文件名链接数
每个文件都会将它的权限与属性记录在文件系统的inode中,操作系统就是根据inode号来识别不同的文件(可以采用“ls -i filename”查看)。每个文件都会有一个inode,但是在Linux系统允许多个文件名指向同一个inode,这意味着可以用不同的文件名访问同样的内容,对文件内容修改会影响所有文件名,并且删除一个文件名,不影响文件名的访问,这就是Linux中的硬链接机制。
回到正文,这栏的属性记录的就是多少不同的文件名链接到相同的一个inode号码。
(3)第三栏:文件所有者账号
(4)第四栏:文件的所属用户组
(5)第五栏:文件容量的大小,默认为Bytes
(6)第六栏:文件创建日期或最近修改日期
这一栏分别为日期(月、日)及时间,如果时间太久,那么可能仅会显示年份信息。
(7)第七栏:文件名