linuxShell

2023-12-25 15:18
文章标签 linuxshell

本文主要是介绍linuxShell,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.runoob.com/linux/linux-intro.html

Ls / ——目录结构

(1) 命令ls——列出文件
ls 显示当前目录文件
ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件
ls a* 列出当前目录下以字母a开头的所有文件
ls -l *.doc 给出当前目录下以.doc结尾的所有文件

(2)命令cp——复制文件
cp afile afile.bak 把文件复制为新文件afile.bak
cp afile /home/bible/ 把文件afile从当前目录复制到/home/bible/目录下
cp * /tmp 把当前目录下的所有未隐藏文件复制到/tmp/目录下
cp -a docs docs.bak 递归性地把当前目录下的docs目录复制为新目录docs.bak,保持文件属性,并复制所有的文件,包括以句点开头的隐藏文件。为了方便起见,-a选项包含-R选项
cp -i 在覆盖前询问用户
cp -v 告诉用户正在做什么
cp -r

(3)命令mv——移动和重命名文件 mv aflie bfile 将afile重命名为bfile
mv afile /tmp 把当前目录下的afile移动到/tmp/目录下

(4)命令rm——删除文件和目录 rm afile 删除文件afile
rm * 删除当前目录下的所有文件(未隐藏文件)。rm命令不删除目录,除非也指定了-r(递归)参数。
rm -rf domed 删除domed目录以及它所包含的所有内容
rm -i a* 删除当前目录下所有以字母a开头的文件,并且在每次删除时,提示用户进行确认

(5)命令cd——更改目录
cd 切换到主目录
cd ~ 切换到主目录
cd /tmp 切换到目录/tmp
cd dir 切换到当前目录下的dir目录
cd / 切换到根目录
cd … 切换到到上一级目录
cd …/… 切换到上二级目录
cd ~ 切换到用户目录,比如是root用户,则切换到/root下

(6)命令mkdir——建立目录
mkdir phots 在当前目录中建立名为photos的目录
mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录

(7)命令mkdir——删除目录
mkdir 将删除空目录

(8)命令more、less——查看文件内容
more /etc/passwd 查看/etc/passwd的内容
功能:分页显示命令
more file
more命令也可以通过管道符(|)与其他的命令一起使用,例如: ps ux|more ls|more
less /etc/passwd 查看/etc/passwd的内容

(9)命令grep——搜索文件内容
grep bible /etc/exports 在文件exports中查找包含bible的所有行
tail -100 /var/log/apache/access.log|grep 404 在WEB服务器日志文件access.log的后100行中查找包含“404”的行
tail -100 /var/log/apache/access.log|grep -v googlebot 在WEB服务器日志文件access.log的后100行中,查找没有被
https://blog.csdn.net/waeceo/article/details/53258574
google访问的行
grep -v ^# /etc/apache2/httpd.conf 在主apache配置文件中,查找所有非注释行

(10)命令find——查找文件
find .-name *.rpm 在当前目录中查找rpm包
find .|grep page 在当前目录及其子目录中查找文件名包含page的文件 locate traceroute 在系统的任何地方查找文件名包含traceroute的文件

(11)命令vi——编辑文件
gvim 打开程序
vi /etc/bubby.txt 用vi编辑文件/etc/bubby.txt
vim /etc/bubby.txt 用vi编辑文件/etc/bubby.txt
快捷操作:
切换窗口:alt+1,alt+2
全屏:alt+回车
将vim挂起(暂停):ctrl+z,暂停后可进行其他shell操作,完了之后可通过 fg 命令切换回vim界面继续编辑
:MR:查看历史文件记录(注意:MR大写)
:sp 横向切换界面窗口
:vsp 纵向切换界面窗口 方便多文件对照编码(如下图:) emacs /etc/bubby.txt 用emacs编辑文件/etc/bubby.txt

(12)命令rz、sz——文件上传下载
运行命令Sudo rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录 。
运行命令Sudo sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。

(13)命令cat——显示文件内容
cat file

(14)命令ps——查看进程 ps [options]
DESCRIPTION(描述):ps命令显示运行程序选项的一些信息。如果你想显示选项的一些重复信息,请使用top命令替代。
用标准语法查看系统上的每一个进程。
ps -e
ps -ef
ps -eF
ps -ely

(15)命令kill——杀掉进程
[root@linux ~]# kill -signal %jobnumber
[root@linux ~]# kill -l
参数:
-l :这个是 L 的小写,列出目前 kill 能够使用的讯号 (signal) 有哪些?共有62个信号。
signal :代表给予后面接的那个工作什么样的指示啰!用 man 7 signal 可知:
-1 :重新读取一次参数的设定档 (类似 reload);
-2 :代表与由键盘输入 [ctrl]-c 同样的动作;
-9 :立刻强制删除一个工作;
-15:以正常的程序方式终止一项工作。与 -9 是不一样的。
范例一:找出目前的 bash 环境下的背景工作,并将该工作删除。
[root@linux ~]# jobs
[1]+ Stopped vim bashrc
[root@linux ~]# kill -9 %1
[1]+ 已砍掉 vim bashrc

(16)命令stop、start——重启tomcat
./catalina.sh stop
./catalina.sh start

(17)命令top——查看cpu、内存

(18)命令pwd——查看当前路径
(19)命令tar——打包、解包rar
tar -cvf .tar a.jsp b.java 将a和b打成.rar
tar -xvf .tar a.jsp b.java 将.tar 解包

(20)命令tail——查看文件详细信息
tail -f aaa.txt 看aaa.txt文件的详细信息
tail -n x aaa.log x:最后几行

(21)命令head——查看文件的名字和后缀
head -n x aaa.log x:开始几行aaa.log:要查看的文件的名字和后缀

(22)命令diff——比较文件内容
diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 比较文件,显示两个文件不相同的内容

(23)命令ln——建立连接
ln source_path target_path 硬连接
ln -s source_path target_path 软连接

(24)命令touch——创建一个空文件
touch aaa.txt 创建一个空文件,文件名为aaa.txt

(25)命令man——查看某个命令的帮助
man ls 显示ls命令的帮助内容

(26)命令w——显示登录用户的详细信息
Sarge:~# w

(27)命令who——显示登录用户
Sarge:~# who

(28)命令last——查看最近那些用户登录系统
Sarge:~# last

(29)命令date——系统日期设定
date -s “060520 06:00:00″ 设置系统时期为2006年5月20日6点整。

(30)命令
clock——时钟设置
clock –r 对系统Bios中读取时间参数
clock –w 将系统时间(如由date设置的时间)写入Bios

(31)命令uname——查看系统版本
uname -R 显示操作系统内核的version

(32)命令reboot、shutdown——关闭和重新启动计算机

reboot   重新启动计算机 
shutdown -r now  重新启动计算机,停止服务后重新启动计算机   
shutdown -h now  关闭计算机,停止服务后再关闭系统   
halt   关闭计算机 
一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。 

(33) 命令su——切换用户
su - 切换到root用户
su – zhoulj 切换到zhoulj用户,
注意:- ,他很关键,使用-,将使用用户的环境变量

(34)命令free——查看内存和swap分区使用情况
Sarge:~# free -tm

(35)命令uptime——现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
Sarge:~# uptime

(36) 命令vmstat——监视虚拟内存使用情况
# vmstat

(37)命令iostat——磁盘吞吐量
-c 只显示CPU行
-d 显示磁盘行
-k 以千字节为单位显示磁盘输出
-t 在输出中包括时间戳
-x 在输出中包括扩展的磁盘指标
(38)命令clear—— 清屏
clear

(39)重启tomcat

(40)变更使用者chown
变更文件或目录的拥有者或所属群组 chown -R -h owner file
- R(recursive)选项意味着对所有子目录下的文件也都进行同样的操作。
- h选项意味着在改变符号链接文件的属主时不影响该链接所指向的目标文件
chown -R xh test1 (test1目录及子目录的所有文件属主变为xh)
1.查看要重启进程的进程号
Ps –ef|grep xxxx
2.杀掉该项目的进程
先杀第二列,再杀第一列
Sudo kill -9 x x
(x为进程号,同时杀多个中间以空格分割)
3.重启tomcat
首先找到tomcat的bin目录 Cd tomcat/bin;
然后运行 sudo ./run.sh即可启动tomcat。
Maven 打包语句:mvn clean package –Dmaven.test.skip=true

来自 https://jingyan.baidu.com/article/7f41ecec022131593d095c3f.html


常用指令
ls   显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式


系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit=“ps -aux” ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。


打包压缩相关命令
gzip:
bzip2:
tar: 打包压缩
-c 归档文件
-x 压缩文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
例:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。


关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启


Linux管道
将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。
例:grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。


Linux软件包管理
dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。
sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件
sudo dpkg -r tree 卸载软件

注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;
APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。
依然以tree为例
sudo apt-get install tree 安装tree
sudo apt-get remove tree 卸载tree
sudo apt-get update 更新软件
sudo apt-get upgrade

将.rpm文件转为.deb文件
.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
sudo alien abc.rpm


vim使用
vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
命令模式下:
:q 退出
:q! 强制退出
:wq 保存并退出
:set number 显示行号
:set nonumber 隐藏行号
/apache 在文档中查找apache 按n跳到下一个,shift+n上一个
yyp 复制光标所在行,并粘贴
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)


用户及用户组管理
/etc/passwd 存储用户账号
/etc/group 存储组账号
/etc/shadow 存储用户账号的密码
/etc/gshadow 存储用户组账号的密码
useradd 用户名
userdel 用户名
adduser 用户名
groupadd 组名
groupdel 组名
passwd root 给root设置密码
su root
su - root
/etc/profile 系统环境变量
bash_profile 用户环境变量
.bashrc 用户环境变量
su user 切换用户,加载配置文件.bashrc
su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组
sudo chown [-R] owner[:group] {File|Directory}
例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop
要想切换此文件所属的用户及组。可以使用命令。
sudo chown root:root jdk-7u21-linux-i586.tar.gz


文件权限管理
三种基本权限
R 读 数值表示为4
W 写 数值表示为2
X 可执行 数值表示为1
在这里插入图片描述
如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r–
-rw-rw-r–一共十个字符,分成四段。
第一个字符 “-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录
第二三四个字符 “rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6
第五六七个字符 “rw-”表示当前所属组的权限。 所以用数值表示为4+2=6
第八九十个字符 “r–”表示其他用户权限。 所以用数值表示为2
所以操作此文件的权限用数值表示为662
在这里插入图片描述
练习:
rw- r-- r-- 1 root root 普通文件,用户权限读写,组权限读,其他用户权限读
D rwx r-x r-x 4 root root 目录,用户权限都有,组权限读和执行,其他用户读和执行

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

  • 10个字符确定不同用户能对文件干什么
  • 第一个字符代表文件(-)、目录(d),链接(l)
  • 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
  • 第一组rwx:文件所有者的权限是读、写和执行
  • 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
  • 第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行
    也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
  • 1 表示连接的文件数
  • root 表示用户
  • root表示用户所在的组
  • 1213 表示文件大小(字节)
  • Feb 2 09:39 表示最后修改日期
  • abc 表示文件名

来自 https://www.cnblogs.com/123-/p/4189072.html


这篇关于linuxShell的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535975

相关文章

LinuxShell 学习心的

<!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signat

[01 LinuxShell ] 清华大学电子系科协软件部2023暑期培训

清华大学电子系科协软件部2023暑期培训_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV11N4y187ZE/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=3ef6540f8473c7367625a53b7b77fd66 本视频

linuxshell日常脚本命令(1)

Linux 清理make、configure生成的文件(灵感来自于quilt安装) make clean #make clean 可以清除make失败的内容 Linux 清理make、configure生成的文件 == make clean #清除上一次make命令生成的文件== make distclean #清除上一次make以及configure命令生成的文件 然后再 ma

O-LinuxShell-W5

O-Linux&Shell-W5 PS: 本次作业难度比较大,设计的命令较多 step1 使用root用户在根目录下查找一个叫sudoers文件的具体路径,以备后面使用。 step2 使用root用户对比使用四种文档查看命令查看/etc/sudoers文件,并且查询到root权限白名单的设置位置。请问用more、less、head和tail中的哪一个命令能够实现查询特定字符串的作用,请理解和

面试题总结--LinuxShell相关

面试题总结–Linux&Shell (持续更新ing…) 文章目录 面试题总结--Linux&Shell (持续更新ing......)1.Linux常用命令1.Shell常用工具 1.Linux常用命令 序号命令命令解释1top查看内存2df -h查看磁盘存储情况3iotop查看磁盘IO读写4iotop -o直接查看比较高的磁盘读写程序5netstat -tunlp | g

LinuxShell的 中括号[], 双中括号[[]], 双小括号(()) 笔记231207

LinuxShell的 中括号[], 双中括号[[]], 双小括号(()) 中括号[], 双中括号[[]], 双小括号(()) 都可用于条件判断 双中括号[[]] , 算是 中括号[]的增强 双中括号[[]] 的[[是bash的关键字, 并不是命令 [remotet@vb-f39 /]$ type [[[[ 是 shell 关键字 单双中括号[]和[[]] 既可以用于字符串比较, 也