77百科网
当前位置: 首页 生活百科

linux基本常用命令(linux基础命令一)

时间:2023-05-22 作者: 小编 阅读量: 7 栏目名: 生活百科

根据超级计算机鹰派TOP500的最新统计数据,“Linux现在为世界500强超级计算机提供100%的支持”。Linux无处不在,以至于它出现在手机、汽车、冰箱和Roku设备中。事实上,世界上几个国家的证券交易所都在Linux上运行。Linux成为在全球范围内运行台式机、服务器和嵌入式系统的平台,因为它是可用的最可靠、最安全和最强大的操作系统之一。其中dir的表示法可以是绝对路径或相对路径。若参数dir省略,则默认为使用者的shell变量HOME。

linux基本常用命令?,接下来我们就来聊聊关于linux基本常用命令?以下内容大家不妨参考一二希望能帮到您!

linux基本常用命令

为啥要学linux?

您可能熟悉 Windows XP、Windows 7、Windows 10和 Mac OS X 等操作系统。Linux 就是这样一种强大的操作系统,如今在应用程序和使用中无处不在。根据超级计算机鹰派TOP500的最新统计数据,“Linux 现在为世界 500 强超级计算机提供 100% 的支持”。这不是令人难以置信吗?操作系统是计算机和所有现代计算设备的灵魂和思想。它是一种管理与台式机或笔记本电脑相关的所有硬件资源的软件。换句话说,操作系统管理您的软件和硬件之间的通信。Linux 无处不在,以至于它出现在手机、汽车、冰箱和 Roku 设备中。它运行着大部分互联网和几台超级计算机。事实上,世界上几个国家的证券交易所都在 Linux 上运行。Linux 成为在全球范围内运行台式机、服务器和嵌入式系统的平台,因为它是可用的最可靠、最安全和最强大的操作系统之一。

linux基础命令

注意: Linux 命令区分大小写,因此您需要小心输入的内容。

1. ls 显示目录内容列表

ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件 。

举例ls# 仅列出当前目录可见文件ls -l# 列出当前目录可见文件详细信息ls -hl# 列出详细信息并以可读大小显示文件大小ls -al# 列出所有文件(包括隐藏)的详细信息ls --human-readable --size -1 -S --classify # 按文件大小排序du -sh * | sort -h # 按文件大小排序(同上)

2. cd 切换用户当前工作目录

  • 切换工作目录至dir。其中dir的表示法可以是绝对路径或相对路径。
  • 若参数dir省略,则默认为使用者的shell变量HOME。
  • 如果dir指定为~时表示为使用者的shell变量HOME,.表示当前目录,..表示当前目录的上一级目录。
  • 环境变量CDPATH是由冒号分割的一到多个目录,你可以将常去的目录的上一级加入到CDPATH以便方便访问它们;如果dir以/开头那么CDPATH不会被使用。
  • 当shopt选项cdable_vars打开时,如果dir在CDPATH及当前目录下均不存在,那么会把它当作变量,读取它的值作为要进入的目录。

举例cd# 进入用户主目录;cd /# 进入根目录cd ~# 进入用户主目录;cd ..# 返回上级目录(若当前目录为“/“,则执行完后还在“/";".."为上级目录的意思);cd ./..# 返回上两级目录;cd !$# 把上个命令的参数作为cd参数使用

3. grep 强大的文本搜索工具

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定字符。可使用正则表达式能配合多种命令使用,使用上十分灵活。

举例:在文件中搜索一个单词,命令会返回一个包含 “match_pattern” 的文本行grep match_pattern file_namegrep "match_pattern" file_name在多个文件中查找:grep "match_pattern" file_1 file_2 file_3 ...

4. su 用于切换当前用户身份到其他用户身份

su命令 用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

举例:变更帐号为root并在执行ls指令后退出变回原使用者su -c ls root变更帐号为root并传入-f选项给新执行的shellsu root -f变更帐号为test并改变工作目录至test的家目录su -test

5、sudo 以其他身份来执行命令

sudo命令 用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

举例: sudo su -# env | grep -E '(HOME|SHELL|USER|LOGNAME|^PATH|PWD|TEST_ETC|TEST_ZSH|TEST_PRO|TEST_BASH|TEST_HOME|SUDO)'这个命令相当于使用root超级用户重新登录一次shell,只不过密码是使用的当前用户的密码。而且重要是,该命令会 重新加载/etc/profile文件以及/etc/bashrc文件等系统配置文件,并且还会重新加载root用户的$SHELL环境变量所对应的配置文件 ,比如:root超级用户的$SHELL是/bin/bash,则会加载/root/.bashrc等配置。如果是/bin/zsh,则会加载/root/.zshrc等配置,执行后是完全的root环境。$ sudo -i# env | grep -E '(HOME|SHELL|USER|LOGNAME|^PATH|PWD|TEST_ETC|TEST_ZSH|TEST_PRO|TEST_BASH|TEST_HOME|SUDO)'这个命令基本与 sudo su - 相同,执行后也是root超级用户的环境,只不过是多了一些当前用户的信息。$ sudo -s# env|grep -E '(HOME|SHELL|USER|LOGNAME|^PATH|PWD|TEST_ETC|TEST_ZSH|TEST_PRO|TEST_BASH|TEST_HOME|SUDO)'--color这个命令相当于 以当前用户的$SHELL开启了一个root超级用户的no-login的shell,不会加载/etc/profile等系统配置 。所以/etc/profile文件中定义的TEST_ETC环境变量就看不到了,但是会加载root用户对应的配置文件,比如root用户的$SHELL是/bin/zsh,那么会加载/root/.zshrc配置文件,执行完后,不会切换当前用户的目录。配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。visudo默认的是在vi里打开配置文件,用vi来修改文件。我们可以在编译时修改这个默认项。visudo不会擅自保存带有语法错误的配置文件,它会提示你出现的问题,并询问该如何处理,就像:>>> sudoers file: syntax error, line 22 <<此时我们有三种选择:键入“e”是重新编辑,键入“x”是不保存退出,键入“Q”是退出并保存。如果真选择Q,那么sudo将不会再运行,直到错误被纠正。现在,我们一起来看一下神秘的配置文件,学一下如何编写它。让我们从一个简单的例子开始:让用户Foobar可以通过sudo执行所有root可执行的命令。以root身份用visudo打开配置文件,可以看到类似下面几行:# Runas alias specification# User privilege specificationrootALL=(ALL)ALL我们一看就明白个差不多了,root有所有权限,只要仿照现有root的例子就行,我们在下面加一行(最好用tab作为空白):foobar ALL=(ALL)ALL保存退出后,切换到foobar用户,我们用它的身份执行命令:[foobar@localhost ~]$ ls /rootls: /root: 权限不够[foobar@localhost ~]$ sudo ls /rootPassWord:anaconda-ks.cfg Desktop install.log install.log.syslog好了,我们限制一下foobar的权利,不让他为所欲为。比如我们只想让他像root那样使用ls和ifconfig,把那一行改为:foobar localhost=/sbin/ifconfig,/bin/ls再来执行命令:[foobar@localhost ~]$ sudo head -5 /etc/shadowPassword:Sorry, user foobar is not allowed to execute '/usr/bin/head -5 /etc/shadow' as root on localhost.localdomain.[foobar@localhost ~]$ sudo /sbin/ifconfigeth0Linkencap:Ethernet HWaddr 00:14:85:EC:E9:9B...现在让我们来看一下那三个ALL到底是什么意思。第一个ALL是指网络中的主机,我们后面把它改成了主机名,它指明foobar可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。最后一个ALL当然就是指命令名了。例如,我们想让foobar用户在linux主机上以jimmy或rene的身份执行kill命令,这样编写配置文件:foobarlinux=(jimmy,rene)/bin/kill但这还有个问题,foobar到底以jimmy还是rene的身份执行?这时我们应该想到了sudo -u了,它正是用在这种时候。 foobar可以使用sudo -u jimmy kill PID或者sudo -u rene kill PID,但这样挺麻烦,其实我们可以不必每次加-u,把rene或jimmy设为默认的目标用户即可。再在上面加一行:Defaults:foobarrunas_default=reneDefaults后面如果有冒号,是对后面用户的默认,如果没有,则是对所有用户的默认。就像配置文件中自带的一行:Defaultsenv_reset另一个问题是,很多时候,我们本来就登录了,每次使用sudo还要输入密码就显得烦琐了。我们可不可以不再输入密码呢?当然可以,我们这样修改配置文件:foobar localhost=NOPASSWD:/bin/cat, /bin/ls再来sudo一下:[foobar@localhost ~]$ sudo ls /rootanaconda-ks.cfg Desktop install.loginstall.log.syslog当然,你也可以说“某些命令用户foobar不可以运行”,通过使用!操作符,但这不是一个好主意。因为,用!操作符来从ALL中“剔出”一些命令一般是没什么效果的,一个用户完全可以把那个命令拷贝到别的地方,换一个名字后再来运行。日志与安全sudo为安全考虑得很周到,不仅可以记录日志,还能在有必要时向系统管理员报告。但是,sudo的日志功能不是自动的,必须由管理员开启。这样来做:touch /var/log/sudovi /etc/syslog.conf在syslog.conf最后面加一行(必须用tab分割开)并保存:local2.debug/var/log/sudo重启日志守候进程,ps aux grep syslogd把得到的syslogd进程的PID(输出的第二列是PID)填入下面:kill –HUP PID这样,sudo就可以写日志了:[foobar@localhost ~]$ sudo ls /rootanaconda-ks.cfgDesktop install.loginstall.log.syslog$cat /var/log/sudoJul 28 22:52:54 localhost sudo:foobar :TTY=pts/1 ; pwd=/home/foobar ; USER=root ; command=/bin/ls /root不过,有一个小小的“缺陷”,sudo记录日志并不是很忠实:[foobar@localhost ~]$ sudo cat /etc/shadow > /dev/nullcat /var/log/sudo...Jul 28 23:10:24 localhost sudo:foobar : TTY=pts/1 ;PWD=/home/foobar ; USER=root ; COMMAND=/bin/cat /etc/shadow重定向没有被记录在案!为什么?因为在命令运行之前,shell把重定向的工作做完了,sudo根本就没看到重定向。这也有个好处,下面的手段不会得逞:[foobar@localhost ~]$ sudo ls /root > /etc/shadowbash: /etc/shadow: 权限不够sudo 有自己的方式来保护安全。以root的身份执行sudo-V,查看一下sudo的设置。因为考虑到安全问题,一部分环境变量并没有传递给sudo后面的命令,或者被检查后再传递的,比如:PATH,HOME,SHELL等。当然,你也可以通过sudoers来配置这些环境变量。

6. pwd 显示当前工作目录的绝对路径

该命令是bash内建命令,相关的帮助信息请查看help命令。

举例#当前目录为根目录下[root@gzy-centos /]# pwd/#当前目录为root[root@gzy-centos ~]# pwd/root

8. passwd 用于让用户可以更改自己的密码

passwd命令 用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码.

举例如果是普通用户执行passwd只能修改自己的密码。如果新建用户后,要为新用户创建密码,则用passwd用户名,注意要以root用户的权限来创建。[root@localhost ~]# passwd linuxde# 更改或创建linuxde用户的密码;Changing password for user linuxde.New UNIX password: # 请输入新密码;Retype new UNIX password:# 再输入一次;passwd: all authentication tokens updated successfully.# 成功;普通用户如果想更改自己的密码,直接运行passwd即可,比如当前操作的用户是linuxde。[linuxde@localhost ~]$ passwdChanging password for user linuxde.# 更改linuxde用户的密码;(current) UNIX password:# 请输入当前密码;New UNIX password:# 请输入新密码;Retype new UNIX password:# 确认新密码;passwd: all authentication tokens updated successfully.# 更改成功;

7. mv 用来对文件或目录重新命名

mv命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。

举例将目录/usr/men中的所有文件移到当前目录(用.表示)中:mv /usr/men/* .移动文件mv file_1.txt /home/office/移动多个文件mv file_2.txt file_3.txt file_4.txt /home/office/mv *.txt /home/office/移动目录mv directory_1/ /home/office/重命名文件或目录mv file_1.txt file_2.txt # 将文件file_1.txt改名为file_2.txt重命名目录mv directory_1/ directory_2/打印移动信息mv -v *.txt /home/office提示是否覆盖文件mv -i file_1.txt /home/office源文件比目标文件新时才执行更新mv -uv *.txt /home/office不要覆盖任何已存在的文件mv -vn *.txt /home/office复制时创建备份mv -bv *.txt /home/office无条件覆盖已经存在的文件mv -f *.txt /home/office

9. cp 将源文件或目录复制到目标文件或目录中

cp命令 用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

举例实例下面的第一行中是 cp 命令和具体的参数(-r 是“递归”, -u 是“更新”,-v 是“详细”)。接下来的三行显示被复制文件的信息,最后一行显示命令行提示符。这样,只拷贝新的文件到我的存储设备上,我就使用 cp 的“更新”和“详细”选项。通常来说,参数 -r 也可用更详细的风格 --recursive。但是以简短的方式,也可以这么连用 -ruv。cp -r -u -v /usr/men/tmp ~/men/tmp版本备份 --backup=numbered 参数意思为“我要做个备份,而且是带编号的连续备份”。所以一个备份就是 1 号,第二个就是 2 号,等等。$ cp --force --backup=numbered test1.py test1.py$ lstest1.py test1.py.~1~ test1.py.~2~如果把一个文件复制到一个目标文件中,而目标文件已经存在,那么,该目标文件的内容将被破坏。此命令中所有参数既可以是绝对路径名,也可以是相对路径名。通常会用到点.或点点..的形式。例如,下面的命令将指定文件复制到当前目录下:cp ./mary/homework/assign .所有目标文件指定的目录必须是己经存在的,cp命令不能创建目录。如果没有文件复制的权限,则系统会显示出错信息。将文件file复制到目录/usr/men/tmp下,并改名为file1cp file /usr/men/tmp/file1将目录/usr/men下的所有文件及其子目录复制到目录/usr/zh中cp -r /usr/men /usr/zh交互式地将目录/usr/men中的以m打头的所有.c文件复制到目录/usr/zh中cp -i /usr/men m*.c /usr/zh我们在Linux下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖。文件数量不多还好,但是要是几百个估计按Y都要吐血了,于是折腾来半天总结了一个方法:cp aaa/* /bbb# 复制目录aaa下所有到/bbb目录下,这时如果/bbb目录下有和aaa同名的文件,需要按Y来确认并且会略过aaa目录下的子目录。cp -r aaa/* /bbb# 这次依然需要按Y来确认操作,但是没有忽略子目录。cp -r -a aaa/* /bbb# 依然需要按Y来确认操作,并且把aaa目录以及子目录和文件属性也传递到了/bbb。\cp -r -a aaa/* /bbb# 成功,没有提示按Y、传递了目录属性、没有略过目录。递归强制复制目录到指定目录中覆盖已存在文件cp -rfb /* ./backup# 将当前目录下所有文件,复制到当前目录的兄弟目录 backup 文件夹中拷贝目录下的隐藏文件如 .babelrccp -r aaa/.* /bbb# 将 aaa 目录下的,所有`.`开头的文件,复制到 bbb 目录中。cp -a aaa /bbb/ # 记住后面目录最好的'/' 带上 `-a` 参数复制到当前目录cp aaa.conf /# 将 aaa.conf 复制到当前目录

10、rm 用于删除给定的文件和目录

rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

交互式删除当前目录下的文件test和examplerm -i test exampleRemove test ?n(不删除文件test)Remove example ?y(删除文件example)删除当前目录下除隐含文件外的所有文件和子目录# rm -r *应注意,这样做是非常危险的!rm 命令删除当前目录下的 package-lock.json 文件find .-name "package-lock.json" -exec rm -rf {} \;rm 命令删除当前目录下的 node_modules 目录find . -name 'node_modules' -type d -prune -exec rm -rf '{}'rm 命令删除文件# rm 文件1 文件2 ...rm testfile.txtrm 命令删除目录rm -r [目录名称] -r 表示递归地删除目录下的所有文件和目录。 -f 表示强制删除rm -rf testdirrm -r testdir删除操作前有确认提示rm -i [文件/目录]rm -r -i testdirrm 忽略不存在的文件或目录-f 选项(LCTT 译注:即 “force”)让此次操作强制执行,忽略错误提示rm -f [文件...]仅在某些场景下确认删除选项 -I,可保证在删除超过 3 个文件时或递归删除时(LCTT 译注: 如删除目录)仅提示一次确认。rm -I file1 file2 file3删除根目录当然,删除根目录(/)是 Linux 用户最不想要的操作,这也就是为什么默认 rm 命令不支持在根目录上执行递归删除操作。 然而,如果你非得完成这个操作,你需要使用 --no-preserve-root 选项。当提供此选项,rm 就不会特殊处理根目录(/)了。不给实例了,操作系统都被你删除了,你太坏了rm 显示当前删除操作的详情rm -v [文件/目录]

好啦,今天就先整理到这里!下次再见!!!

    推荐阅读
  • 病毒性感冒(病毒性感冒会传染么)

    病毒性感冒包括普通感冒、流行性感冒和病毒性咽炎等。合并细菌性感染时,白细胞计数和中性粒细胞增多。有助于早期诊断。目前改进应用PCR-酶联直接检测流感病毒RNA,比病毒细胞培养敏感。

  • 高铁是否应当售卖卫生巾(女子称高铁上来例假买不到卫生巾)

    9月16日,据新闻晨报援引梨视频报道:9月15日,网友称坐高铁期间,月经提前却未能在高铁上买到卫生巾,最后乘务员帮自己找到一个,避免了尴尬。该网友通过乘务员了解到没有在高铁上卖过卫生巾,已经遇到很多女生有这种情况。她认为对于生理期不稳定的女生很不方便。铁路12306回应称,卫生巾这类是不正常售卖的,属于私人物品。对于建议(配备)的提议,没法去建议,要能卖早就卖了。

  • 17款吉利远景x3有备胎吗(了解一下)

    以下内容大家不妨参考一二希望能帮到您!17款吉利远景x3有备胎吗新远景X3有备胎,新远景x3这个级别的小型suv车型是不可能配置防爆胎,肯定是标配防爆胎,备胎一般在车子后面行李箱。

  • 痛风的症状和治疗方案是什么

    痛风疾病多年来一直都在影响这我们的生活,破坏者患者的身体健康。以足部第一跖趾为较好发部位,其次为手足的其他小关节、踝、膝、腕、肘、肩关节。初期多为单关节病变,两侧交替发生,后期可为多关节病变,同时或先后出现。暴饮暴食、饮酒过量、劳累、感染、外伤、手术、创伤、关节周围受压,鞋履不适等均可为诱发因素。此文来自网络,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。

  • 惠普战x稳定性怎么样(全黑环境摄像头也能用)

    牛三叔在笔记本前任意摆动身体位置,战X都能紧随跟踪,效果很明显,同时伴随着自动补光效果。▲见证效果的时刻到了:接下来开启战X的AI降噪功能,牛三叔表示这个交通要道车流量大,各种噪声源源不断。应对复杂吵闹的环境也完全无压力。

  • 女娲造人教案内容(简单教案请查收)

    下面内容希望能帮助到你,我们来一起看看吧!女娲造人教案内容导入新课你所知道的神话故事。课文解析复述文章把自己的概括和文后的《风俗通》比较。读文后《风俗通》的文章,看看相比课文少了哪些情节?人造出来的欢心场面。女娲的心理活动以及他的喜乐心情。给女娲唱一支歌。给女娲写一段话赞美她。

  • 爆笑朋友圈说说(朋友圈搞笑说说好句子)

    以下内容大家不妨参考一二希望能帮到您!爆笑朋友圈说说你先撑一下这段感情,我这把游戏打完再回来。雪崩的时候每一片雪花都勇闯天涯。我尊重你的假照,但是不要给我发刘亦菲。你跟游戏当然是选你啦,打游戏会输,打你不会。最近老有人说我脸胖了,我澄清一下,不是胖了,是我在家做了全脸的脂肪填充。想吃炸鸡,想着想着眼泪就从嘴角流了下来。听说谈恋爱要门当户对,那王子在吗。很喜欢鲁迅说过的一句话:“有人请我喝奶茶吗?”

  • 问其故的故是什么意思(问其故原文欣赏)

    跟着小编一起来看一看吧!问其故的故是什么意思问其故的故释义:缘故,原因。出自列御寇《两小儿辩日》。

  • 择其善者而从之(择其善者而从之的出处)

    排行老二,汉族人,春秋时期鲁国人。孔子是我国古代伟大的思想家、教育家和政治家,儒家学派创始人,世界最著名的文化名人之一。编撰了我国第一部编年体史书《春秋》。据有关记载,孔子出生于鲁国陬邑昌平乡;孔子逝世时,享年73岁,葬于曲阜城北泗水之上,即今日孔林所在地。儒教殷王室的后裔,武王灭殷后,封殷宗室微子启于宋,其远祖遂成为宋国贵族,孔子出生于鲁国,地位亦由公卿下降而为士。

  • 超车时如何使用灯光(驾驶机动车超车时怎样使用灯光?)

    超车时如何使用灯光为了防止前方车辆在我们超车时变道,我们一定要尽量去提醒对方,鸣笛、快速变换远近光来提醒前方车辆注意,这时要观察一下它,当没有变道的意图,这时就可以加速超车了;如果前方车辆亮起左转向灯,表明前方路况有紧急情况,并不是很好的超车时机,他也需要变道了。超车完成后,当与被超车辆拉开充分的距离后,就要向右靠回原车道。