linux命令

1.关机命令:sudo shutdown -h now

2.查看版本:cat /proc/version

  查看硬件芯片(主板):cat /proc/cpuinfo          //BCM2708

3.设置root密码:

   sudo passwd root  然后输入两次想设置的密码即可。

4.用户切换:

  其它用户 => root用户:su  或 sudo su

  root用户 => 其他用户:su pi 或 exit   #pi是一个用户名。

5.用户归属于用户组 //详见《鸟哥的linux私房菜》第六、十四章

  树莓派在操作串口ttyAMA0时提示没有权限,Cannot open /dev/ttyAMA0: Permission denied,

  于是查看ttyAMA0隶属的组:ls -l /dev/ttyAMA0  //发现隶属于tty组

                                 输出:crw-rw---- 1 root tty 204, 64 Jul  1 17:58 /dev/ttyAMA0

  查看用户(如pi)隶属的组别:groups pi   //查看pi用户所在的组,以及组内成员发现没有tty组。

 (注:通过文件/etc/group可以查看所有组及pi隶属的组,命令:sudu nano /etc/group)

                                输出:pi : pi adm dialout cdrom sudo audio 所在组|组内成员 video plugdev games users netdev input spi gpio

  用户pi没有隶属于tty组别,所以不能操作ttyAMA0串口,应将pi用户加入tty组:sudo gpasswd --add pi tty

                                    然后groups pi   //可以看到多了tty

                                    输出:pi : pi adm tty dialout cdrom sudo audio 所在组|组内成员 video plugdev games users netdev input spi gpio

  logout退出系统(注销),login登陆。

小结:查看串口驱动:cat /proc/tty/drivers/serial
     查看串口设备:dmesg | grep ttyS*
     groups pi 查看pi用户所在的组,以及组内成员
whoami 查看当前登录用户名
/etc/group文件包含所有组及当前用户隶属于哪些组
/etc/shadow和/etc/passwd系统存在的所有用户名
解说:/etc/group文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去。

Linux下每个文件都有用户和群组权限。你可以在终端运行ls -l 命令来查看完整的权限和属性。

例:pi@raspberrypi:~/raspi_project$ ls -al raspi_ks103.py
                     输出:-rwxrwxrwx 1 pi pi 983 Jul 18 21:09 raspi_ks103.py

6. 改变/usr/local目录的权限:(-R是对所有子目录都有效)

    chomd 777 -R /usr/local

7. 文件节点号查询:

    ln -i

8. 查看linux操作历史记录

    查看用户的登录记录:last   

    shell$ history或vi ~/.bash_history          //(以.号开头的文件是隐藏文件) 

    常用日志文件如下:

    access-log   纪录HTTP/web的传输 
    acct/pacct   纪录用户命令 
    aculog     纪录MODEM的活动 
    btmp      纪录失败的纪录 
    lastlog     纪录最近几次成功登录的事件和最后一次不成功的登录 
    messages    从syslog中记录信息(有的链接到syslog文件) 
    sudolog     纪录使用sudo发出的命令 
    sulog      纪录使用su命令的使用 
    syslog     从syslog中记录信息(通常链接到messages文件) 
    utmp      纪录当前登录的每个用户 
    wtmp      一个用户每次登录进入和退出时间的永久纪录 
    xferlog     纪录FTP会话
 
    但是~/.bash_history里面是没有时间的记录的,可以用下面的脚本来记录时间.........

9.使用find命令在系统中搜索文件,使用grep在文件中搜索字符串。 

   grep查找命令:grep EXIT_*.h

   find命令:find /目录 -name 'ab*.*'

10.获取帮助信息

      man gcc

  man ls

  info gcc

  info ls 

11.进入家目录:

   cd ~

   进入其它家目录:

   cd ~家用户名

12. /proc文件系统:应用程序通过读写proc文件系统获得设备驱动信息或者设置设备驱动参数。

   cat /proc/cpuinfo

   cat /proc/meminfo

   cat /proc/version

   cat /proc/net/sockstat

   cat /proc/sys/fs/file-max =>76593

   echo 80000 >/proc/sys/fs/file-max

   cat /proc/sys/fs/file-max =>80000

13.当前运行进程列表:

    每个进程都有唯一的标识符:1-32000之间的数字。ps命令给出当前正在运行进程的列表:ps -a

16.Linux系统

  配置文件:/etc

  设备文件:/dev

               /dev/console:系统控制台设备

               /dev/tty:控制终端

               /dev/null:空设备

17.如果想知道标准输出是否被重定向了,只需检查底层文件描述符是否关联到一个终端即可。系统调用isatty就是用来完成这一任务的。只要将文件描述符传递给他,他就可判断出该描述符是否连接到一个终端。

    #include <unistd.h>

    int isatty(int fd);

    如果打开的文件描述符fd连接到一个终端,则系统调用isatty返回1,否则返回0.

18.linux的source命令:

     source命令用法:
     source FileName
     作用:在当前bash环境下读取并执行FileName中的命令。
     注:该命令通常用命令“.”来替代。
     如:source .bash_rc 与 . .bash_rc 是等效的。
     注意:source命令与shell scripts的区别是,
     source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。

19.如何清除ubuntu系统中的软件包

     如果你频繁的在你的系统中安装/卸载,那么不时的清理一下你的系统是十分必要的。

     sudo apt-get autoremove

20.从datached HEAD 状态恢复回来

     git checkout master

原文地址:https://www.cnblogs.com/cj2014/p/3808511.html