ಕೆಲವೊಮ್ಮೆ ಕೆಲವು ಟ್ಯುಟೋರಿಯಲ್ಗಳು ಸ್ವಲ್ಪ ಹೆಚ್ಚು ವಿಲಕ್ಷಣ ಮತ್ತು ವಿಚಿತ್ರ ಆಜ್ಞೆಗಳನ್ನು ವಿವರಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿವೆ, ಮತ್ತೊಂದೆಡೆ, ಕೆಲವು ಸರಣಿ ವಿತರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿವೆ ಮತ್ತು ಸಿಡಿ, ಎಲ್ಎಸ್, ಕ್ಯಾಟ್ ಇತ್ಯಾದಿಗಳಂತೆ ಜನಪ್ರಿಯವಾಗಿಲ್ಲ, ಆದರೆ ಅವು ಪ್ರಾಯೋಗಿಕವಾಗಿವೆ. ಈ ಎರಡು ಆಜ್ಞೆಗಳೊಂದಿಗೆ ಏನು ಮಾಡಬಹುದೆಂದು ಈ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ ನಾನು ನಿಮಗೆ ತೋರಿಸುತ್ತೇನೆ: ಬೇಸ್ ನೇಮ್ ಮತ್ತು ಹೇಳಿ.
ಬಹುಶಃ ಅವರು ನಿಮಗೆ ಅಸಂಬದ್ಧವೆಂದು ತೋರುತ್ತದೆ ಮತ್ತು ಅವರಿಗೆ ಯಾವುದೇ ಪ್ರಯೋಜನವಿಲ್ಲ, ಆದರೆ ಅವುಗಳು ಇವೆ ಸಾಕಷ್ಟು ಪ್ರಾಯೋಗಿಕ ಅನ್ವಯಿಕೆಗಳು ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ, ಉದಾಹರಣೆಗೆ, ಸ್ಕ್ರಿಪ್ಟ್ಗಳಲ್ಲಿ ನೀವು ಫೈಲ್ನ ಹೆಸರು ಅಥವಾ ಡೈರೆಕ್ಟರಿಯಂತಹ ಹಾದಿಯ ಕೆಲವು ಭಾಗವನ್ನು ಹೊರತೆಗೆಯಬೇಕಾದರೆ ಮತ್ತೊಂದು ಆಜ್ಞೆಯು ಇದರ ಮೇಲೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ...
ಅವರು ಏನು
ಈ ಆಜ್ಞೆಗಳು ಬಹಳ ಮೂಲಭೂತವಾಗಿವೆ, ಮತ್ತು ಅದರ ಕಾರ್ಯಗಳು ಅವುಗಳು:
- ಮೂಲಹೆಸರು: ಫೈಲ್ನಿಂದ ಹೆಸರನ್ನು ಒಂದು ಮಾರ್ಗದಿಂದ ಹೊರತೆಗೆಯಲು ಬಳಸಲಾಗುತ್ತದೆ.
- ಉಪನಾಮ: ಡೈರೆಕ್ಟರಿ ಹೆಸರನ್ನು ಒಂದು ಮಾರ್ಗದಿಂದ ಹೊರತೆಗೆಯಲು ಬಳಸಲಾಗುತ್ತದೆ.
ಬಳಕೆಯ ಉದಾಹರಣೆಗಳು
ಇಲ್ಲಿ ನೀವು ಕೆಲವು ನೋಡಬಹುದು ಉದಾಹರಣೆಗಳು ಅವುಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು:
- ಉದಾಹರಣೆಗೆ, ಬಳಸಲು ಮೂಲಹೆಸರು / etc / passwd ನೊಂದಿಗೆ, ಮತ್ತು ಅದು ಫೈಲ್ನ ಹೆಸರನ್ನು ಅದರ output ಟ್ಪುಟ್ನಲ್ಲಿ ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ಈ ಸಂದರ್ಭದಲ್ಲಿ passwd:
basename /etc/passwd
- ನೀವು ಸಹ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು ವಿಸ್ತರಣೆ ಆದ್ದರಿಂದ ಅದು ವಿಸ್ತರಣೆಯಿಲ್ಲದೆ ಫೈಲ್ ಹೆಸರನ್ನು ನೀಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಜೆಪಿಜಿ ವಿಸ್ತರಣೆಯಿಲ್ಲದೆ /home/media/test.jpg ಚಿತ್ರದ ಹೆಸರನ್ನು ಹೊರತೆಗೆಯಲು ಬಯಸಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸೋಣ (ಅದು ಹಿಂತಿರುಗುತ್ತದೆ ಪರೀಕ್ಷೆ):
basename -s .jpg /home/media/prueba.jpg
- ನೀವು ಸಹ ಮಾಡಬಹುದು ಏಕಕಾಲದಲ್ಲಿ ಅನೇಕ ಮಾರ್ಗಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿ ಪ್ರತ್ಯೇಕವಾಗಿ, ಇದಕ್ಕಾಗಿ ನೀವು -a ಆಯ್ಕೆಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ:
basename -a /etc/passwd /var/log/boot.log
- ಇದಕ್ಕೆ ವಿರುದ್ಧವಾಗಿ ಮಾಡಲು, ಮತ್ತು ಫೈಲ್ನ ಹೆಸರಿಲ್ಲದೆ ಡೈರೆಕ್ಟರಿಯ ಹೆಸರನ್ನು ನಿಮಗೆ ನೀಡಲು, ನಂತರ ನೀವು ಬಳಸಬೇಕಾಗುತ್ತದೆ ಉಪನಾಮ. ಉದಾಹರಣೆಗೆ, ನೀವು ಅದನ್ನು /var/spool/mail/test.txt ಹಾದಿಯಲ್ಲಿ ಬಳಸಲು ಬಯಸಿದರೆ ಮತ್ತು ಅದನ್ನು / var / spool / mail ಅನ್ನು ಹಿಂತಿರುಗಿಸಲು ಬಯಸಿದರೆ, ನಂತರ ಇದನ್ನು ಬಳಸಿ:
dirname /var/spool/mail/prueba.txt
ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಉಪಯುಕ್ತತೆ, ಇಲ್ಲಿ ನಿಮಗೆ ಇನ್ನೊಂದು ಉದಾಹರಣೆ ಇದೆ. ನಿಮ್ಮ ಬಳಿ ಸರಳವಾದ ಸ್ಕ್ರಿಪ್ಟ್ ಇದೆ ಎಂದು g ಹಿಸಿ, ಮತ್ತು ಅದರಲ್ಲಿ ವೇರಿಯಬಲ್ ಒಂದು ಮಾರ್ಗವಿದೆ. ಆದರೆ ಫೈಲ್ ಅನ್ನು ಲೆಕ್ಕಿಸದೆ ಫೈಲ್ ಅನ್ನು ಹೊಂದಿರುವ ಡೈರೆಕ್ಟರಿಯನ್ನು ಇದು ತೋರಿಸಬೇಕೆಂದು ನೀವು ಬಯಸುತ್ತೀರಿ, ಅಂತಹ ಸಂದರ್ಭದಲ್ಲಿ ನೀವು ಏನನ್ನಾದರೂ ಹೊಂದಬಹುದು:
pathname="/home/usuario/data/fichero" result=$(dirname "$pathname") echo $result
ನಿಸ್ಸಂಶಯವಾಗಿ, ಈ ಲಿಪಿಯಲ್ಲಿ "ಪಥನಾಮ" ಯಾವಾಗಲೂ ಆರಂಭದಲ್ಲಿ ಸ್ಥಿರದಿಂದ ಘೋಷಿಸಲ್ಪಟ್ಟ ಅದೇ ಸ್ಥಿರವಾಗಿರುತ್ತದೆ, ಆದರೆ ಅದು ಇಲ್ಲದಿರುವ ಸಂದರ್ಭಗಳು ಇರಬಹುದು, ಮತ್ತು ಅದು ಅಲ್ಲಿಯೇ ಅದು ಪ್ರಾಯೋಗಿಕವಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ:
/*script para convertir una imagen gif en png*/ #!/bin/sh for file in *.gif;do #Salir si no hay ficheros if [! -f $file];then exit fi b='basename $file .gif' echo NOW $b.gif is $b.png giftopnm $b.gif | pnmtopng >$b.png done
ನೀವು ಕಲಿಯುತ್ತಿರುವಾಗ ನೀವು ನಿಷ್ಪ್ರಯೋಜಕ ಎಂದು ಕಾಣುವಂತಹ ಒಂದು ಉತ್ತಮ ಉದಾಹರಣೆ, ಆದರೆ ನೀವು ವಿಷಯಕ್ಕೆ ಬಂದಾಗ ಅವು ಎಷ್ಟು ಪ್ರಾಯೋಗಿಕವೆಂದು ನೀವು ನೋಡುತ್ತೀರಿ.