11.Linux shell编程(常用命令)

简介: (创建于2018/1/31)文件操作1.显示列表ls -l 以列表的形式显示ls -la 以列表的形式显示所有,包括隐藏文件ls -l ja* 通配符查找,查找的如果是文件夹结果是以列表形式显示文件夹下第一层的所有文件和文件夹ls -l...

(创建于2018/1/31)

文件操作
1.显示列表

ls -l   以列表的形式显示
ls -la 以列表的形式显示所有,包括隐藏文件
ls -l ja* 通配符查找,查找的如果是文件夹结果是以列表形式显示文件夹下第一层的所有文件和文件夹
ls -l ja?  ?表示一个字符,查找ja后边只有一个字符的,显示的结果同上

ls -l 和 ls -la的区别,ls -la可以显示隐藏文件
img_c124822dbf116d36d1e73a6a597c998b.png
611949796.png

s -l xx*通配符查找的是 满足条件的目录下的所有文件列表
img_19330be2bb649020a7f4abd85db39aec.png
612113484.png

2.创建文件
touch ren.txt 在当前目录创建ren.txt文件

3.复制文件

cp src.txt dest.txt  将src.txt文件复制到当前目录下,文件名为dest.txt
cp -i src.txt dest.txt  复制前询问是否复制,有一个确认的过程(我在linux云主机上尝试的没有提示,效果同上边的命令)
cp /xxx/xxx . 复制某一目录下某一文件到当前目录下,注意如果要复制本目录下到当前目录也就是本目录是不行的,会有提示
cp -R src dest  复制整个目录src到dest 目录下  (R有的地方区分大小写)

4.删除

rm -rf ndk/  
    
rm:删除命令
-r开关:递归地删除子目录和子目录中的文件
-f开关:强制删除,不再一一向用户提示确认
* 所有文件和文件夹

rm file  删除文件file
  1. echo "ren" 输出ren
    6.查看文件类型
file 文件名

7.查看文件内容

cat 文件名    功能跟vim差不多,不过cat打开只能读,不能编辑(more命令也可以查看)
cat -b 文件名  查看文件,显示行号

tail -n 10 文件名  查看文件最后十行
head -n 10 文件名  查看文件最前边十行

8.创建用户

useradd -m renzhenming  创建用户renzhenming,同时创建renzhenming用户的home目录
userdel -r renzhenming  删除用户

9.创建组

groupadd 组名

10.分配用户到组

usermod -G 组名 用户名

12.文件权限
img_8549663dd6a860ded9c47dc3d67ef9a6.png
704394750.png
如上截图

r:读
w:写
x:执行
d:目录

以上边user目录权限为例

d后边第一个三位表示文件所属用户具备的权限(rwx 具备读写执行的最高权限)
d后边第二个三位表示文件所属用户的所属组具备的权限(r-x具备读执行的权限)-表示0
d后边最后一个三位表示系统的其他用户具备的权限(r-x具备读执行的权限)

以往简单粗暴的赋权方式chmod 777 file不安全,我们需要根据需要设置root用户以及组和其他用户的权限
数字对应关系如下:

权限      二进制     八进制
---         000         0
--x         001         1
-w-         010         2
-wx         011         3
r--         100         4
r-x         101         5
rw-         110         6
rwx         111         7
    
rwx必须是固定顺序

修改文件权限
chmod 644 file
给用户加上执行权限
chmod u+x file  //(chmod是权限管理命令change the permissions mode of a file的缩写。。u代表所有者,x代表执行权限。 + 表示增加权限。chmod u+x file.sh 就表示对当前目录下的file.sh文件的所有者增加可执行权限)
tar命令的详细解释
参数:

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

--delete从存档中删除  注意是两个减号。

下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

下面是例子
1.压缩一个目录
   eg:  tar -cvzf test.tar.gz  tar  #压缩当前目录下的tar目录,压缩包的名字叫test.tar.gz
2.压缩其中某一类型的文件
    eg:  tar -cvzf test.tar.gz  ./*.c #压缩当前目录下的.c为后缀的文件。但是不能压缩以.开头的文件
3.查看一个压缩文件的内容
   eg: tar -tvf test.tar.gz   #查看当前目录下test.tar.gz压缩文件中的文件
4.解压一个文件
    eg.  tar -xvzf test.tar.gz #解压test.tar.gz到当前目录下面
5.文件夹做一个归档文件、备份一个目录、
    eg: tar -cvf test.tar tar #将tar文件夹下的文件生成一个test.tar归档文件
6.将某一类型的文件做成归档文件、备份某一类型的文件
     eg:tar -cvf test.tar ./tar/*.c   # 将tar文件夹下所有以.c结尾的文件放到test.tar 文件中,但是以.开头的文件不行
7.向归档文件中添加一个文件夹
     eg: tar -rf test.tar  ./test1  #将test1文件夹中的所有文件,添加到test.tar 归档文件中
8.删除归档文件中的文件
     eg: tar -f test.tar --delete a.c  #删除test.tar文件中的 a.c文件
9.删除归档文件中的某一类的文件
     eg: tar -f test.tar --delete *.c  #删除test.tar文件中的 以.c结尾的文件
10.释放归档文件
    eg:  tar  -xvf  test.tar  #释放test.tar归档文件中的内容到 当前目录下
11.查看归档文件中的内容
    eg: tar -tvf test.tar 


总结
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
相关文章
|
16天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
|
5天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
58 20
|
4天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
44 13
|
5天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
26 7
|
25天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
23天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
26天前
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
31 0
Linux 如何更改默认 Shell
|
29天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
117 3
|
7月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
116 0
|
7月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
113 0
下一篇
DataWorks