பழைய கட்டளை வரி கருவிகளுடன் நவீன மாற்றுகளைப் பயன்படுத்துவதன் மூலம், நீங்கள் மிகவும் வேடிக்கையாக இருக்க முடியும் மற்றும் உங்கள் உற்பத்தித்திறனை மேம்படுத்தலாம்.
Linux/Unix இல் எங்கள் தினசரி வேலைகளில், நாங்கள் பல கட்டளை வரி கருவிகளைப் பயன்படுத்துகிறோம் - எடுத்துக்காட்டாக, வட்டு பயன்பாடு மற்றும் கணினி ஆதாரங்களைக் கண்காணிக்க du. இந்த கருவிகளில் சில நீண்ட காலமாக உள்ளன. எடுத்துக்காட்டாக, டாப் 1984 இல் தோன்றியது, மற்றும் du இன் முதல் வெளியீடு 1971 ஆம் ஆண்டிலிருந்து தொடங்குகிறது.
பல ஆண்டுகளாக, இந்த கருவிகள் நவீனமயமாக்கப்பட்டு வெவ்வேறு அமைப்புகளுக்கு போர்ட் செய்யப்பட்டன, ஆனால் பொதுவாக அவை அவற்றின் முதல் பதிப்புகளிலிருந்து வெகுதூரம் நகரவில்லை, அவற்றின் தோற்றம் மற்றும் பயன்பாட்டினை கூட பெரிதாக மாற்றவில்லை.
இவை பல கணினி நிர்வாகிகளுக்கு தேவைப்படும் சிறந்த கருவிகள். இருப்பினும், சமூகம் கூடுதல் நன்மைகளை வழங்கும் மாற்று கருவிகளை உருவாக்கியுள்ளது. அவற்றில் சில நவீன, அழகான இடைமுகத்தைக் கொண்டுள்ளன, மற்றவை பயன்பாட்டினை பெரிதும் மேம்படுத்துகின்றன. இந்த மொழிபெயர்ப்பில், நிலையான லினக்ஸ் கட்டளை வரி கருவிகளுக்கு ஐந்து மாற்றுகளைப் பற்றி பேசுவோம்.
1. ncdu vs du
NCurses வட்டு பயன்பாடு (
ncdu வட்டை பகுப்பாய்வு செய்து, அடிக்கடி பயன்படுத்தப்படும் கோப்பகங்கள் அல்லது கோப்புகளால் வரிசைப்படுத்தப்பட்ட முடிவுகளைக் காட்டுகிறது, எடுத்துக்காட்டாக:
ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
96.7 GiB [##########] /libvirt
33.9 GiB [### ] /.crc
7.0 GiB [ ] /Projects
. 4.7 GiB [ ] /Downloads
. 3.9 GiB [ ] /.local
2.5 GiB [ ] /.minishift
2.4 GiB [ ] /.vagrant.d
. 1.9 GiB [ ] /.config
. 1.8 GiB [ ] /.cache
1.7 GiB [ ] /Videos
1.1 GiB [ ] /go
692.6 MiB [ ] /Documents
. 591.5 MiB [ ] /tmp
139.2 MiB [ ] /.var
104.4 MiB [ ] /.oh-my-zsh
82.0 MiB [ ] /scripts
55.8 MiB [ ] /.mozilla
54.6 MiB [ ] /.kube
41.8 MiB [ ] /.vim
31.5 MiB [ ] /.ansible
31.3 MiB [ ] /.gem
26.5 MiB [ ] /.VIM_UNDO_FILES
15.3 MiB [ ] /Personal
2.6 MiB [ ] .ansible_module_generated
1.4 MiB [ ] /backgrounds
944.0 KiB [ ] /Pictures
644.0 KiB [ ] .zsh_history
536.0 KiB [ ] /.ansible_async
Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540
அம்புக்குறி விசைகளைப் பயன்படுத்தி உள்ளீடுகளை நீங்கள் செல்லலாம். நீங்கள் Enter ஐ அழுத்தினால், ncdu தேர்ந்தெடுக்கப்பட்ட கோப்பகத்தின் உள்ளடக்கங்களைக் காண்பிக்கும்:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
எடுத்துக்காட்டாக, எந்த கோப்புகள் அதிக வட்டு இடத்தை எடுத்துக் கொள்கின்றன என்பதைத் தீர்மானிக்க இந்தக் கருவியைப் பயன்படுத்தலாம். இடது அம்புக்குறியை அழுத்துவதன் மூலம் முந்தைய கோப்பகத்திற்குச் செல்லலாம். ncdu உடன் நீங்கள் d விசையை அழுத்துவதன் மூலம் கோப்புகளை நீக்கலாம். இது நீக்குவதற்கு முன் உறுதிப்படுத்தல் கேட்கிறது. மதிப்புமிக்க கோப்புகளின் தற்செயலான இழப்பைத் தடுக்க, நீக்குதல் அம்சத்தை முடக்க விரும்பினால், படிக்க-மட்டும் அணுகல் பயன்முறையை இயக்க -r விருப்பத்தைப் பயன்படுத்தவும்: ncdu -r.
ncdu பல லினக்ஸ் இயங்குதளங்கள் மற்றும் விநியோகங்களுக்கு கிடைக்கிறது. எடுத்துக்காட்டாக, அதிகாரப்பூர்வ களஞ்சியங்களிலிருந்து நேரடியாக ஃபெடோராவில் நிறுவ dnf ஐப் பயன்படுத்தலாம்:
$ sudo dnf install ncdu
2. htop vs top
இயல்பாக, htop இது போல் தெரிகிறது:
மேலே உள்ளதைப் போலல்லாமல்:
கூடுதலாக, htop மேலே கணினி பற்றிய மேலோட்டத் தகவலையும், கீழே உள்ள செயல்பாட்டு விசைகளைப் பயன்படுத்தி கட்டளைகளை இயக்குவதற்கான பேனலையும் காட்டுகிறது. உள்ளமைவுத் திரையைத் திறக்க F2 ஐ அழுத்துவதன் மூலம் அதை உள்ளமைக்கலாம். அமைப்புகளில், நீங்கள் வண்ணங்களை மாற்றலாம், அளவீடுகளைச் சேர்க்கலாம் அல்லது அகற்றலாம் அல்லது மேலோட்டப் பேனல் காட்சி விருப்பங்களை மாற்றலாம்.
டாப்பின் சமீபத்திய பதிப்புகளின் அமைப்புகளை மாற்றுவதன் மூலம் நீங்கள் இதேபோன்ற பயன்பாட்டினை அடைய முடியும் என்றாலும், htop வசதியான இயல்புநிலை உள்ளமைவுகளை வழங்குகிறது, இது மிகவும் நடைமுறை மற்றும் பயன்படுத்த எளிதாக்குகிறது.
3. tldr vs மனிதன்
tldr கட்டளை வரி கருவி கட்டளைகளைப் பற்றிய எளிமையான உதவித் தகவலைக் காட்டுகிறது, பெரும்பாலும் எடுத்துக்காட்டுகள். இது சமூகத்தால் உருவாக்கப்பட்டது
டிஎல்டிஆர் மனிதனுக்கு மாற்றாக இல்லை என்பது கவனிக்கத்தக்கது. இது இன்னும் நியமன மற்றும் மிகவும் விரிவான மேன் பக்க வெளியீட்டு கருவியாகும். இருப்பினும், சில சந்தர்ப்பங்களில் மனிதன் தேவையற்றவன். கட்டளையைப் பற்றிய விரிவான தகவல்கள் உங்களுக்குத் தேவைப்படாதபோது, அதன் அடிப்படைப் பயன்பாடுகளை நினைவில் வைத்துக் கொள்ள முயற்சிக்கிறீர்கள். எடுத்துக்காட்டாக, கர்ல் கட்டளைக்கான மேன் பக்கத்தில் கிட்டத்தட்ட 3000 வரிகள் உள்ளன. சுருட்டைக்கான tldr பக்கம் 40 வரிகள் நீளமானது. அதன் துண்டு இதுபோல் தெரிகிறது:
$ tldr curl
# curl
Transfers data from or to a server.
Supports most protocols, including HTTP, FTP, and POP3.
More information: <https://curl.haxx.se>.
- Download the contents of an URL to a file:
curl http://example.com -o filename
- Download a file, saving the output under the filename indicated by the URL:
curl -O http://example.com/filename
- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:
curl -O -L -C - http://example.com/filename
- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Send a request with an extra header, using a custom HTTP method:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Send data in JSON format, specifying the appropriate content-type header:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUT
TLDR என்றால் “மிக நீளமானது; படிக்கவில்லை": அதாவது, சில உரைகள் அதன் அதிகப்படியான வாய்மொழி காரணமாக புறக்கணிக்கப்பட்டன. இந்த கருவிக்கு பெயர் பொருத்தமானது, ஏனெனில் மேன் பக்கங்கள் பயனுள்ளதாக இருந்தாலும், சில நேரங்களில் மிக நீளமாக இருக்கும்.
ஃபெடோராவிற்கு, tldr பைத்தானில் எழுதப்பட்டது. dnf மேலாளரைப் பயன்படுத்தி இதை நிறுவலாம். பொதுவாக, கருவி செயல்பட இணைய அணுகல் தேவைப்படுகிறது. ஆனால் ஃபெடோராவின் பைதான் கிளையன்ட் இந்தப் பக்கங்களை பதிவிறக்கம் செய்து ஆஃப்லைன் அணுகலுக்காக தேக்ககப்படுத்த அனுமதிக்கிறது.
4.jq vs sed/grep
jq என்பது கட்டளை வரிக்கான JSON செயலி. இது sed அல்லது grep ஐப் போன்றது, ஆனால் குறிப்பாக JSON தரவுகளுடன் பணிபுரிய வடிவமைக்கப்பட்டுள்ளது. நீங்கள் தினசரி பணிகளில் JSON ஐப் பயன்படுத்தும் டெவலப்பர் அல்லது கணினி நிர்வாகியாக இருந்தால், இது உங்களுக்கான கருவியாகும்.
Grep மற்றும் sed போன்ற நிலையான உரை செயலாக்கக் கருவிகளை விட jq இன் முக்கிய நன்மை என்னவென்றால், இது JSON தரவு கட்டமைப்பைப் புரிந்துகொண்டு, சிக்கலான வினவல்களை ஒரே வெளிப்பாட்டில் உருவாக்க உங்களை அனுமதிக்கிறது.
எடுத்துக்காட்டாக, இந்த JSON கோப்பில் கொள்கலன் பெயர்களைக் கண்டறிய முயற்சிக்கிறீர்கள்:
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}
சரத்தின் பெயரைக் கண்டுபிடிக்க grep ஐ இயக்கவும்:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep என்ற வார்த்தையின் பெயரைக் கொண்ட அனைத்து வரிகளையும் கொடுத்தார். நீங்கள் அதை கட்டுப்படுத்த, மேலும் சில அளவுருக்களை grep இல் சேர்க்கலாம், மேலும் சில வழக்கமான வெளிப்பாடு கையாளுதலுடன் கொள்கலன் பெயர்களைக் கண்டறியவும்.
jq ஐப் பயன்படுத்தி அதே முடிவைப் பெற, எழுதவும்:
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
இந்த கட்டளை இரண்டு கொள்கலன்களின் பெயர்களை உங்களுக்கு வழங்கும். நீங்கள் இரண்டாவது கொள்கலனின் பெயரை மட்டுமே தேடுகிறீர்கள் என்றால், வரிசை உறுப்புகளின் குறியீட்டை வெளிப்பாட்டுடன் சேர்க்கவும்:
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
jq தரவு கட்டமைப்பைப் பற்றி அறிந்திருப்பதால், கோப்பு வடிவம் சிறிது மாறினாலும் அது அதே முடிவுகளைத் தருகிறது. grep மற்றும் sed இந்த விஷயத்தில் சரியாக வேலை செய்யாமல் போகலாம்.
jq பல செயல்பாடுகளை கொண்டுள்ளது, ஆனால் அவற்றை விவரிக்க மற்றொரு கட்டுரை தேவை. மேலும் தகவலுக்கு தொடர்பு கொள்ளவும்
5. fd vs கண்டுபிடி
எடுத்துக்காட்டாக, ஒரு Git களஞ்சிய கோப்பகத்தில் கோப்புகளைத் தேடும் போது, fd தானாகவே மறைக்கப்பட்ட கோப்புகள் மற்றும் .git கோப்பகம் உட்பட துணை அடைவுகளை விலக்குகிறது, மேலும் .gitignore கோப்பிலிருந்து வைல்டு கார்டுகளையும் புறக்கணிக்கிறது. ஒட்டுமொத்தமாக, இது முதல் முயற்சியிலேயே மிகவும் பொருத்தமான முடிவுகளைத் தருவதன் மூலம் தேடல்களை வேகப்படுத்துகிறது.
முன்னிருப்பாக, தற்போதைய கோப்பகத்தில் வண்ண வெளியீட்டைக் கொண்டு fd ஒரு கேஸ்-சென்சிட்டிவ் தேடலைச் செய்கிறது. Find கட்டளையைப் பயன்படுத்தி அதே தேடலுக்கு கட்டளை வரியில் கூடுதல் அளவுருக்களை உள்ளிட வேண்டும். எடுத்துக்காட்டாக, தற்போதைய கோப்பகத்தில் உள்ள அனைத்து .md (அல்லது .MD) கோப்புகளையும் கண்டுபிடிக்க, இது போன்ற ஒரு கண்டுபிடி கட்டளையை எழுதுவீர்கள்:
$ find . -iname "*.md"
Fd க்கு இது போல் தெரிகிறது:
$ fd .md
ஆனால் சில சந்தர்ப்பங்களில், fd க்கு கூடுதல் விருப்பங்களும் தேவைப்படுகின்றன: எடுத்துக்காட்டாக, நீங்கள் மறைக்கப்பட்ட கோப்புகள் மற்றும் கோப்பகங்களைச் சேர்க்க விரும்பினால், நீங்கள் -H விருப்பத்தைப் பயன்படுத்த வேண்டும், இருப்பினும் தேடும் போது பொதுவாக இது தேவையில்லை.
பல லினக்ஸ் விநியோகங்களுக்கு fd கிடைக்கிறது. ஃபெடோராவில் இதை இப்படி நிறுவலாம்:
$ sudo dnf install fd-find
நீங்கள் எதையும் விட்டுக்கொடுக்க வேண்டியதில்லை
புதிய லினக்ஸ் கட்டளை வரி கருவிகளைப் பயன்படுத்துகிறீர்களா? அல்லது பழையவற்றில் பிரத்தியேகமாக உட்காருகிறீர்களா? ஆனால் பெரும்பாலும் உங்களிடம் ஒரு சேர்க்கை உள்ளது, இல்லையா? கருத்துகளில் உங்கள் அனுபவத்தைப் பகிர்ந்து கொள்ளுங்கள்.
விளம்பரம் உரிமைகள் மீது
எங்கள் வாடிக்கையாளர்களில் பலர் ஏற்கனவே நன்மைகளைப் பாராட்டியுள்ளனர் காவிய சேவையகங்கள்!
இந்த
ஆதாரம்: www.habr.com