常用linux命令

Posted lizhiyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用linux命令相关的知识,希望对你有一定的参考价值。

参考链接:http://www.cnblogs.com/yjd_hycf_space/p/7730690.html

文件和目录 
cd /home 进入 ‘/ home‘ 目录‘ 
cd .. 返回上一级目录 
cd ../.. 返回上两级目录 
cd - 返回上次所在的目录 
pwd 显示工作路径 
ls 查看目录中的文件 
ls -l 显示文件和目录的详细资料 或者ll
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 -r dir/* . 复制一个目录下的所有文件到当前工作目录 ,不能直接复制一个目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录 
cp -a dir1 dir2 复制一个目录 
ln -s file1 lnk1 创建一个指向文件或目录的软链接 
ln file1 lnk1 创建一个指向文件或目录的物理链接 

备注:cp后参数

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

注意事项:

1、cp -a命令 同样也可以完成目录复制。

2、格式cp -r 目录名 新目录名。

磁盘空间 
df -h 显示已经挂载的分区列表 
ls -lSr |more 以尺寸大小排列文件和目录 
du -sh dir1 估算目录 ‘dir1‘ 已经使用的磁盘空间‘ 
du -sk * | sort -rn 以容量大小为依据依次显示文件和目录的大小 
rpm -q -a --qf ‘%10{SIZE}t%{NAME}n‘ | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统) 
dpkg-query -W -f=‘${Installed-Size;10}t${Package}n‘ | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统) 
du -h --max-depth=1  查看占用磁盘空间最大的文件

文件搜索 
find / -name file1 从 ‘/‘ 开始进入根文件系统搜索文件和目录 ,比如find -name "*2.png"
find / -user user1 搜索属于用户 ‘user1‘ 的文件和目录 
find /home/user1 -name *.bin 在目录 ‘/ home/user1‘ 中搜索带有‘.bin‘ 结尾的文件 ,涉及到*号需要转译或者加引号
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件 
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件 
find / -name *.rpm -exec chmod 755 ‘{}‘ ; 搜索以 ‘.rpm‘ 结尾的文件并定义其权限 

用户和群组 
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‘ 排除主目录) 
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性 
passwd 修改口令 
passwd user1 修改一个用户的口令 (只允许root执行) 
chage -E 2005-12-31 user1 设置用户口令的失效期限 
pwck 检查 ‘/etc/passwd‘ 的文件格式和语法修正以及存在的用户 
grpck 检查 ‘/etc/passwd‘ 的文件格式和语法修正以及存在的群组 
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组 

查找用户所属组:

技术分享图片

文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消 

权限范围的表示法如下:

u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。


ls -lh 显示权限 
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限 
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限 


chown user1 file1 改变一个文件的所有人属性 
chgrp group1 file1 改变文件的群组 
chown user1:group1 file1 改变一个文件的所有人和群组属性 

chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性 ,注意大写R,递归处理,将指令目录下的所有文件及子目录一并处理;

chmod u+x,g+w f01  //为文件f01设置自己可以执行,组员可以写入的权限
chmod u=rwx,g=rw,o=r f01
chmod a+x f01  //对文件f01的u,g,o都设置可执行属性

-rwx-r--r-- (一共10个参数) 表示文件所属组和用户的对应权限。
第一个跟参数属于管理员,跟chmod无关,先不管.
2-4参数:属于user
5-7参数:属于group
8-10参数:属于others
接下来就简单了:r==>可读 w==>可写 x==>可执行
r=4 w=2 x=1
所以755代表 rwx r-x r-x,即每个级别权限值相加

777 代表 rwxr-rwx-rwx 所有用户都可读可写可执行。

chown -R 777 directory1 改变一个目录的并同时改变改目录下所有文件的属性 ,注意大写R,递归处理,将指令目录下的所有文件及子目录一并处理;

 查看文件内容 
cat file1 从第一个字节开始正向查看文件的内容 
tac file1 从最后一行开始反向查看一个文件的内容 
more file1 查看一个长文件的内容 
less file1 类似于 ‘more‘ 命令,但是它允许在文件中和正向操作一样的反向操作 
head -2 file1 查看一个文件的前两行 
tail -2 file1 查看一个文件的最后两行 
tail -f /var/log/messages 实时查看被添加到一个文件中的内容 
















































































以上是关于常用linux命令的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

Linux常用文件管理命令

markdown [Docker] Docker片段列表和命令#linux #docker #snippets

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

C#常用代码片段备忘

常用python日期日志获取内容循环的代码片段