Linux内核-进程退出
进程退出表示进程结束运行。Linux系统中进程的退出分为正常退出和异常退出。
(1)正常退出:在main函数中执行return返回;调用exit函数;调用_exit()函数。
(2)异常退出:调用abort;进程收到某个信号,该信号使程序终止。
不管哪中方式都会执行内核中同样一段代码。这段代码用来关闭进程所有打开的文件描述符,释放它所占有的所有资源。
各种退出方式的比较:
(1)exit和return的区别:exit是一个函数;return是函数执行完的返回。exit把控制权交给系统,而return把控制权交给调用者。
(2)exit和abort的区别:exit是进程正常退出,abort是异常终止。
(3)exit(int exit_code):exit中的参数exit_code为0代表进程正常终止,若为其他值表示程序过程中有错误发生。
(4)exit和_exit()的区别:exit()在stdlib.h中声明,而_exit()在unistd.h中声明,两个函数均能正常终止进程,但_exit()执行后立即返回给内核,而exit要执行一些清楚操作,然后再把控制权交给内核。
.使用cp命令复制文件或文件夹
cp 源文件(文件夹) 目标文件(文件夹)
常用参数:
-r 递归复制整个目录树
-v 显示详细信息
1.在相同文件夹下复制文件:
eg: cp wenjian wenjian-2

就在同一个文件夹下复制了名为“wenjian”的文件,并且复制得到的文件名叫“wenjian-2”
2.在不同文件夹下复制文件:
eg: cp wenjian /

就把文件名为“wenjian”的文件复制到了这个文件夹中,并且复制完之后文件名不改变。
3.用cp命令复制文件夹:
复制文件夹必须加上
-r
的命令。
eg:cp -r 2

这样不仅复制了这个文件夹,并且把这个文件夹下的文件也都复制到了2中去了
若要显示复制的详细信息,就在参数中加-v
eg: cp -r -v 3或者cp -rv 3就会显示详细信息了。

二.移动、重命名文件或目录
1.通过mv命令移动或者重命名文件或目录
格式:mv 文件 目标目录
eg:mv linuxcast /

则把当前目录下名叫“linuxcast”的文件移动到了的文件夹中,当前目录下就没有这个文件了。它的作用效果类似于“剪切”。
如果指定文件名则可以重命名文件
eg:mv linuxcast-2 /cast1

就把当前目录下的名叫“linuxcast-2”的文件移动到了这个文件夹中,并且移动后的文件重命名为“cast”.
如果不改变文件目录,只是重命名文件
mv 文件名 文件名
eg: mv linuxcast liangjin
就把当前目录下名为“linuxcast”的文件重命名为:“liangjjin”. 所以,不指定目录,直接在当前目录下移动就是重命名。
三.创建和删除文件
1.通过touch命令可以创建一个空文件或更新文件时间
touch 文件名
在当前目录下创建一个文件
touch /cast
在目录下创建一个名为cast的文件
2.通过rm命令可以删除文件或目录
常用参数:
-i 交互式
-r 递归的删除包括目录中的所有内容
-f 强制删除,没有警告提示(一定要谨慎,冲动是魔鬼哦)
格式:rm 文件名
删除文件夹时要加上-r参数
格式:rm -r 文件夹名
eg:rm -r
就把当中的所有文件连同文件夹一起删除了而没有任何提示。这种操作比较危险,重要的文件说不定就在一瞬间就灰飞烟灭了。我们可以加上-i这个参数。-i的作用是交互的删除文件和文件夹(每删除一个文件系统都会问你是否确定删除)。
eg:rm -ri /

就把文件夹下的文件一个一个的删除,每删除一个就会征求一下你的意见。
四.创建或删除一个目录
通过mkdir命令创建一个目录
通过rmdir命令删除一个空目录
通过rm -r (-f)命令
进程退出表示进程结束运行。Linux系统中进程的退出分为正常退出和异常退出。
(1)正常退出:在main函数中执行return返回;调用exit函数;调用_exit()函数。
(2)异常退出:调用abort;进程收到某个信号,该信号使程序终止。
不管哪中方式都会执行内核中同样一段代码。这段代码用来关闭进程所有打开的文件描述符,释放它所占有的所有资源。
各种退出方式的比较:
(1)exit和return的区别:exit是一个函数;return是函数执行完的返回。exit把控制权交给系统,而return把控制权交给调用者。
(2)exit和abort的区别:exit是进程正常退出,abort是异常终止。
(3)exit(int exit_code):exit中的参数exit_code为0代表进程正常终止,若为其他值表示程序过程中有错误发生。
(4)exit和_exit()的区别:exit()在stdlib.h中声明,而_exit()在unistd.h中声明,两个函数均能正常终止进程,但_exit()执行后立即返回给内核,而exit要执行一些清楚操作,然后再把控制权交给内核。
.使用cp命令复制文件或文件夹
cp 源文件(文件夹) 目标文件(文件夹)
常用参数:
-r 递归复制整个目录树
-v 显示详细信息
1.在相同文件夹下复制文件:
eg: cp wenjian wenjian-2

就在同一个文件夹下复制了名为“wenjian”的文件,并且复制得到的文件名叫“wenjian-2”
2.在不同文件夹下复制文件:
eg: cp wenjian /

就把文件名为“wenjian”的文件复制到了这个文件夹中,并且复制完之后文件名不改变。
3.用cp命令复制文件夹:
复制文件夹必须加上
-r
的命令。
eg:cp -r 2

这样不仅复制了这个文件夹,并且把这个文件夹下的文件也都复制到了2中去了
若要显示复制的详细信息,就在参数中加-v
eg: cp -r -v 3或者cp -rv 3就会显示详细信息了。

二.移动、重命名文件或目录
1.通过mv命令移动或者重命名文件或目录
格式:mv 文件 目标目录
eg:mv linuxcast /

则把当前目录下名叫“linuxcast”的文件移动到了的文件夹中,当前目录下就没有这个文件了。它的作用效果类似于“剪切”。
如果指定文件名则可以重命名文件
eg:mv linuxcast-2 /cast1

就把当前目录下的名叫“linuxcast-2”的文件移动到了这个文件夹中,并且移动后的文件重命名为“cast”.
如果不改变文件目录,只是重命名文件
mv 文件名 文件名
eg: mv linuxcast liangjin
就把当前目录下名为“linuxcast”的文件重命名为:“liangjjin”. 所以,不指定目录,直接在当前目录下移动就是重命名。
三.创建和删除文件
1.通过touch命令可以创建一个空文件或更新文件时间
touch 文件名
在当前目录下创建一个文件
touch /cast
在目录下创建一个名为cast的文件
2.通过rm命令可以删除文件或目录
常用参数:
-i 交互式
-r 递归的删除包括目录中的所有内容
-f 强制删除,没有警告提示(一定要谨慎,冲动是魔鬼哦)
格式:rm 文件名
删除文件夹时要加上-r参数
格式:rm -r 文件夹名
eg:rm -r
就把当中的所有文件连同文件夹一起删除了而没有任何提示。这种操作比较危险,重要的文件说不定就在一瞬间就灰飞烟灭了。我们可以加上-i这个参数。-i的作用是交互的删除文件和文件夹(每删除一个文件系统都会问你是否确定删除)。
eg:rm -ri /

就把文件夹下的文件一个一个的删除,每删除一个就会征求一下你的意见。
四.创建或删除一个目录
通过mkdir命令创建一个目录
通过rmdir命令删除一个空目录
通过rm -r (-f)命令
















