linux命令行

来源:互联网 发布:淘宝流失金额多少正常 编辑:程序博客网 时间:2024/06/12 10:09

export

语  法:export [-fnp][变量名称]=[变量设置值]

补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。

参  数:
 -f  代表[变量名称]中为函数名称。
 -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
 -p  列出所有的shell赋予程序的环境变量。

  • 用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一 个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。从这种意义上来 说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。

  • 在子 shell中定义的变量只在该子shell内有效。如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用export命令对已定义的变量进行输出。

lmz:父shell不可以引用子shell的变量,孙shell可以使用子shell的变量(得用export输出)。

在Linux里设置环境变量的方法(export PATH):

1.直接用export命令:

#export PATH=$PATH:/opt/au1200_rm/build_tools/bin

2.修改profile文件:

#vim /etc/profile export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

3.修改.bashrc文件:

# vim /root/.bashrcexport PATH="$PATH:/opt/au1200_rm/build_tools/bin"

lmz:后两种方法一般需要重新注销系统才能生效,最后可以通过echo命令测试一下。

一般情况下,父进程的自定义变量是无法再子进程内使用的。但是通过export将变量变成环境变量后,就能在子进程下面使用了。

ctrl+z/c

Control+Z is used for suspending a process by sending it the signal SIGSTOP, which cannot be intercepted by the program.
While Control+C is used to kill a process with the signal SIGINT, and can be intercepted by a program so it can clean its self up before exiting, or not exit at all.

If you suspend a process, this will show up in the shell to tell you it has been suspended:

[1]+  Stopped                 yes

However, if you kill one, you won’t see any confirmation other than being dropped back to a shell prompt. When you suspend a process, you can do fancy things with it, too. For instance, running this:

fg

With a program suspended will bring it back to the foreground.

And running the command

bg

With a program suspended will allow it to run in the background (the program’s output will still go to the TTY, though).

If you want to kill a suspended program, you don’t have to bring it back with fg first, you can simply do the command:

kill %1

If you have multiple suspended commands, running

jobs

will list them, like this:

[1]-  Stopped                 pianobar[2]+  Stopped                 yes

Using %#, where # is the job number (the one in square brackets from the jobs output) with bg, fg, or kill, can be used to do the action on that job.

命令提示符

[root@localhost ~]#

其中:

字符 描述 root 当前登录用户 localhost 主机名 ~ 当前所在目录 # 超级用户提示符 $ 普通用户提示符

-a等价于–all

压缩1

常用压缩格式:.zip .gz .bz2

zip 压缩文件名 源文件     //压缩文件zip -r 压缩文件名 源目录  //压缩目录unzip 压缩文件            //解压缩
gzip 源文件             //源文件会消失gzip -r 目录            //压缩目录下的所有子文件,但是不能压缩目录gzip -d 压缩文件        //解压缩gunzip 压缩文件         //解压缩
bzip2 源文件            //不保留源文件bzip2 -k 源文件         //保留源文件__注意:bzip2命令不能压缩目录__bzip2 -d 压缩文件       //解压缩,-k保留压缩文件bunzip2 压缩文件        //解压缩,-k保留压缩文件

压缩2

常用压缩格式:.tar.gz .tar.bz2

tar

tar -cvf 打包文件名 源文件      //打包选项:-c:打包-v:显示过程-f:制定打包后的文件名
tar -xvf 打包文件名             //解包选项:-x:解打包

.tar.gz

tar -zcvf 压缩包名.tar.gz 源文件        //打包选项:-z:压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz               //解包选项:-x:解压缩.tar.gz格式

.tar.bz2

tar -jcvf 压缩包名.tar.bz2 源文件      //打包选项:-z:压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2              //解包选项:-x:解压缩.tar.bz2格式

注意:
可以制定解压缩文件位置
可以压缩多个文件

用户和用户组

配置文件:

/etc/group              //存储当前系统中所有用户组的信息Group  :     x      :   123 : abc,def,xyz组名称:组密码占位符:组编号:组中用户名列表
/etc/gshadow            //存储当前系统中用户组的密码信息Group :   *   :        :  abc,def,xyz组名称:组密码:组管理者:组中用户名列表
/etc/passwd             //存储当前系统中所与用户的信息user  :     x     :   123   :    456    :   XXXXXXXX  : /home/user:/bin/bash用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型
/etc/shadow             //存储当前系统中所与用户的密码信息user:vf;/Zu8sdf :::::用户名:密码    :::::

命令:

useradd/del/modgroupadd/del/mod

链接

文件有inode和block。硬链接的两个文件名都拥有同一个inode。inode一样的话,指向的block也就一样。文件名就是链接。
软连接拥有自己的inode和block,但是block存储的是硬链接的inode号。
举例:ln -s 文件的绝对路径 软连接

buffer cache

缓冲 缓存

递归建立目录

madir -p /1/1

补全

linux既可以实现命令补全也可以实现目录补全

man

man命令有等级,可以通过man man查看,一共九个等级。
如何显示命令的所有等级:

man -f commandwhatis command

查看特定等级的命令

man 5 passwd    //没有横杠

关机重启

shutdown [选项] 时间

选项:

  • -c:取消前一个关机命令
  • -h:关机 (init 0)
  • -r:重启 (init 6)

重启:

reboot

runlevel

运行级别 描述 0 停机,关机 1 单用户,无网络连接,不运行守护进程,不允许非超级用户登录 2 多用户,无网络连接,不运行守护进程 3 多用户,正常启动系统 4 用户自定义 5 多用户,带图形界面 6 重启

在Debian Linux中,下列路径对应不同的运行级别。当系统启动时,通过其中的脚本文件来启动相应的服务。

  • /etc/rc0.d Run level 0
  • /etc/rc1.d Run level 1
  • /etc/rc2.d Run level 2
  • /etc/rc3.d Run level 3
  • /etc/rc4.d Run level 4
  • /etc/rc5.d Run level 5
  • /etc/rc6.d Run level 6

显示当前运行级别:

runlevel       //两个字符:前一次级别 当前级别

开机进入哪一等级是可控的:

vim /etc/inittab        //默认3

logout

退出(英语:logout),登录的相反行为,是指在某种正在活动中的事物离开,如用户退出当前正在运行的操作系统、在线游戏、论坛、即时通、查询系统等的账户,以便下一个用户可以登录。
使用操作系统时,每当退出时,将会关闭所有操作系统使用中的程序,但不会关闭电脑。退出后可以再次以相同或不同用户身份登录。
在其他场合(如在线游戏、论坛、即时通、查询系统等)退出后可以再次以相同或不同用户身份登录;有的可以以匿名身份继续使用。
而登陆是与注销是相反的。在台湾繁体的退出,与中国简体的注销则是同义词

挂载/分配盘符

# mount         //mount命令显示已经挂载的。/dev/sda5 on / type ext4 (rw)       //第一块sata硬盘的第一个逻辑分区挂载在根目录下。

注:硬盘都是挂载在某一个目录下,u盘也是挂载在某一个目录下。

# mount -a      //依据配置文件/etc/fstab,将默认挂载的设备挂载一遍
# mount [-t文件系统] [-o特殊选项] 设备文件名 挂载点(目录)  //挂载命令
# umount 设备文件名/挂载点    //卸载

特别的,挂载U盘:

# fdisk -l //显示所有已经挂载的设备文件,查找u盘设备文件名。u盘当做硬盘来处理,命名体系一样。# mount /dev/sdb1 /mnt/usb/

查看登录用户信息

# w# who# last      //查询当前登录和过去登录的用户信息# lastlog

磁盘管理

# df [选项]  //查看磁盘分区使用状况# du [选项]  //统计磁盘上的文件大小

分区

必须对硬盘进行分区、格式化、挂载后才能使用

分区模式之MBR:

  • 主分区不超过四个
  • 单个分区容量最大2TB
# fdisk [选项]    //只能用于mbr分区

分区模式之GPT

  • 主分区个数几乎没有限制(128个)
  • 单个分区容量几乎没有限制(18EB)
# parted [选项]        //既可以用于mbr分区,也可以gpt分区

GPT的主分区中不适合安装x86架构的系统(32位)

bash命令

  • uname -aShow system and kernel
  • whoamiShow your username
  • mountShow mounted filesystems

前台后台 fg/bg

有些命令执行很花时间,我们可以将其放在后台执行。
- 在命令的结尾加上&
- 执行完命令后,输入ctrl+z(暂停)和bg(继续以一个任务在后台运行)

如何将后台程序调入前台呢?
- 执行命令jobs,列出所有后台命令
- fg %进程id,eg:fg %2

进程

进程管理的作用:
* 查看服务器的健康状态
* 查看所有的进程
* 杀死进程



- ps最基础的浏览进程的命令。常用的是ps auxps -le
- pstree每个进程都是由父进程创建的,可视化显示进程间的关系。指定了进程号,那么根进程就是该进程。没有指定,根进程是init,pid=1。pstree -pu,可选参数。
- top实时显示系统的进程状态,判断系统健康状态。可以实时交互。输入h M P
- ps Show snapshot of processes
- top Show real time processes
- kill -1/9/15(default) pid Kill process with id pid

1:平滑重启9:强制杀死15:正常杀死

kill的缺点是只能针对单一进程,多进程的杀死只能用pkillkillall
都可以加参数。
进程名是什么?
- pkill name Kill process with name name
- killall name Kill all processes with names beginning name

杀死进程

  • kill pid杀死某个进程
  • kill -9 pid强制杀死。慎用。没有机会清理现场,比如,文件可能没有写完

查找命令

  • find最强大的文件查找命令(遍历所有文件)。
    格式:find <指定目录> <指定条件> <指定动作>
    举例:find . -name 'my*' -ls
  • locate查找速度比find快,但是查找不到最近更新的文件,可以预先执行updatedb遍历一个数据库)。
    举例:locate file
  • which在PATH变量指定的路径中,搜索命令,返回命令位置以及别名。
  • whereis在PATH变量指定的路径中,搜索命令,返回的是命令位置(-b)以及帮助文档(-m)。
  • grep在文件中查找包含指定字符串的行。
    举例:grep [选项] 字符串 文件

命令列表

  • cmd1 ; cmd2Run cmd1 then cmd2
  • cmd1 && cmd2Run cmd2 if cmd1 is successful
  • cmd1 || cmd2Run cmd2 if cmd1 is not successful
  • cmd &Run cmd in a subshell

管道命令

  • cmd1 | cmd2stdout of cmd1 to cmd2
  • cmd1 |& cmd2stderr of cmd1 to cmd2

重定向

1> :以覆盖的方法将『正确的数据』输出到指定的文件或装置上;1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上;2> :以覆盖的方法将『错误的数据』输出到指定的文件或装置上;2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;

文件操作

  • touch fileCreate file
  • cat file1 file2Concatenate files and output
  • less fileView and paginate file
  • file fileGet type of file

grep

grep [选项] pattern filepa aux | grep chrome

bash变量

  • envShow environment variables
  • echo $NAMEOutput value of $NAME variable
  • export NAME=valueSet $NAME to value
  • $PATHExecutable search path
  • $HOMEHome directory
  • $SHELLCurrent shell

ubuntu16.04没有声音

gnome-alsamixer

标签:linux

0 0
原创粉丝点击