Linux命令行

来源:互联网 发布:怎么获取股票数据 编辑:程序博客网 时间:2024/06/11 08:00
在我们学习Linux的过程中,都会使用Linux命令行,如果能熟练地使用Linux命令行,将会使我们在开发的过程中事半功倍,现在就介绍一下我在学习Linux的过程中经常使用的命令行,希望能对初学Linux的同学有一些帮助。
1. cd
eg. cd /usr
      cd /usr/
      cd usr/
      cd -
说明:cd /usr和cd /usr/的功能相同,都是进入到根目录下的usr文件夹中
           cd usr/是进入到当前目录下的usr文件夹中,当前目录是指执行这条命令所在的目录
           cd -   是返回上一次进入的目录,例如当前目录为/usr/lib,然后执行cd /dev进入/dev/目录,当我们执行cd - 后会返回到/usr/lib

2. ls
eg. ls /usr
      ls /usr/
      ls usr/
      ls -l
说明:cd /usr和cd /usr/的功能相同,都是列举根目录下的usr文件夹中中的内容
           cd usr/是列举当前目录下的usr文件夹中,当前目录是指执行这条命令所在的目录
           ls -l   列举当前目录下的文件的详细信息,会显示文件的权限

3. pwd
eg. pwd
说明:打印当前目录的路径,例如现在/usr/lib目录下,执行这条命令会打印/usr/lib,在shell脚本中应用很多

4. mkdir
eg. mkdir tmp
      mkdir -P /work/nfs_root/first_fs   //一次创建
说明:mkdir tmp是在当前目录下创建tmp文件夹
           mkdir -P /work/nfs_root/first_fs   加上-P选项会一次性创建,例如在执行这条命令前,只有/work目录,且/work目录下没有nfs_root文件夹,如果我们像创建/work/nfs_root/first_fs目录的话,不加-P选项,我们需要执行两条命令才能达到目的:mkdir /work/nfs_root/和mkdir /work/nfs_root/first_fs

5. rm
eg. rm 1.txt
      rm -rf tmp
说明:rm 1.txt是删除当前目录下的1.txt文件
          rm -rf tmp是删除当前目录下的tmp文件夹

6. mv
eg.mv -rf tmp /work
说明:将当前目录下的tmp目录移动到/work目录下

7. cp
eg. cp 1.txt tmp
      cp -rf tmp/*so* /work
      sudo cp * -rfd /mnt    //-d:在拷贝so文件时经常用到,表示以前是链接文件,拷贝过去后还是链接文件
说明:cp 1.txt tmp是将当前目录下的1.txt文件复制到当前目录下的tmp文件夹
           cp -rf tmp/*so* /work是将当前目录下的tmp文件夹下的所有文件名包含so的文件复制到根目录下的work目录下
           sudo cp * -rfd /mnt    //-d选项:在拷贝so文件时经常用到,表示如果以前是链接文件,拷贝过去后还是链接文件

8. chmod
eg. chmod 777 1.txt
      chmod 777 * -R
说明:chmod 777 1.txt是将当前目录下的1.txt文件的访问权限改为可读可写可执行
           chmod 777 * -R是将当前目录下的所有文件(对于当前目录下的文件夹中的文件),会递归地改变文件的属性为可读可写可执行

9. diff
eg. diff ./linux-4.9 /work/OrangePi/OrangePi-Kernel/linux-4.9
说明:比较当前目录下的linux-4.9目录下的所有文件和/work/OrangePi/OrangePi-Kernel/linux-4.9目录下的文件的请区别

10. ps
eg. ps -A
说明:列举出当前所有进程

11. kill
eg. kill -9 ***
      killall hello
说明:kill -9 ***是杀掉pid为***的进程(进程的pid可以使用ps -A命令查询)
           killall hello是杀掉所有进程名为hello的进程

12. cat
eg. cat 1.txt
说明:打印当前目录下的1.txt文件的内容

13. echo
eg. echo 123 > 1.txt
      echo $PATH
说明:echo 123 > 1.txt是将字符串123写入当前目录下的1.txt文件
           echo $PATH是打印环境变量

14. export
eg. a. export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
      b. export PATH="$PWD/brandy/gcc-linaro/bin":"$PATH"
          cross_comp="arm-linux-gnueabi"
说明:对于a,修改环境变量
           对于b,在shell脚本中经常看到,export PATH="$PWD/brandy/gcc-linaro/bin":"$PATH"为设置环境变量为;原环境变量加上当前目录下的brandy/gcc-linaro/bin
                                                             cross_comp="arm-linux-gnueabi"为设置编译工具为arm-linux-gnueabi-gcc
15. vi
eg. sudo vi /etc/environment
      PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.4.3/bin"
      参考:http://blog.163.com/shaoyu_lin/blog/static/3802459920123694812178/

16. ifconfig
eg. sudo ifconfig eth0 up
      sudo ifconfig eth0 192.168.2.4
说明:sudo ifconfig eth0 up是启动eth0网卡
           sudo ifconfig eth0 192.168.2.4是设置eth0网卡的ip为192.168.2.4

17. mount
eg. mount -t nfs -o nolock,vers=2 192.168.2.3:/work/nfs_root/first_fs /mnt
      sudo umount /mnt
说明:mount -t nfs -o nolock,vers=2 192.168.2.3:/work/nfs_root/first_fs /mnt是挂载IP为192.168.2.3的Linux的/work/nfs_root/first_fs目录到本Linux系统的/mnt目录,如果挂载成功,那么:其他Linux系统的/work/nfs_root/first_fs目录和正在使用的Linux目录下的文件内容相同
           sudo umount /mnt是解除挂载

18. dmesg
eg. dmesg | grep ***
说明:dmesg是打印内核的打印信息,dmesg | grep ***是载内核的打印信息中只打印包含字符串*** 的内容

19. find
eg. find -name "hello.c"
说明:查找当前目录下所有名为hello.c的文件

20. grep
eg. grep "error!" * -nR
说明:查找当前目录下说有文件内容中含有error!的文件,并打印文件名

21. tar
eg. tar xzf linux-2.6.22.6.tar.bz2
      tar cjf linux-2.6.22.6.tar.bz2 linux-2.6.22.6
说明:tar xzf linux-2.6.22.6.tar.bz2是加压linux-2.6.22.6.tar.bz2文件
           tar cjf linux-2.6.22.6.tar.bz2 linux-2.6.22.6是将当前目录下的linux-2.6.22.6文件夹压缩为linux-2.6.22.6.tar.bz2文件,并保存在当前目录中

22. fdisk
eg. sudo fdisk -l      //查看磁盘
      sudo fdisk /dev/loop0  //分区
说明:sudo fdisk -l是查看磁盘的分区
           sudo fdisk ***是给磁盘***分区

23. file
eg. file hello

24. date
eg. date
说明:打印日期,在shell脚本中使用很多

25. patch
eg. cd linux-2.6.22.6
      patch -p1 < ../linux-2.6.22.6_jz2440.patch
说明:将补丁文件linux-2.6.22.6_jz2440.patch放到linux-2.6.22.6目录的同级目录下,进入linux-2.6.22.6目录,打补丁
 
26. uname
eg. uname -a
说明:查看linux版本